Do you get more XP by being stealthy or shooting everyone in the face?
Solution 1:
Being stealthy and taking everyone out are not mutually exclusive and you'll get the most XP by doing both. This isn't necessarily fastest in terms of real time because playing stealth is usually slower, but it is fastest in terms of how much XP you will have in line with your point in the game.
Remember that if no enemies see you before they are taken out you will still get the Ghost bonus (500XP for completing an objective without being seen properly), and if you're careful to make sure they don't see the bodies of other enemies then you can still get the Smooth Operator bonus (250XP for completing an objective without the alarm being triggered) as well.
If you are going to try and take everyone out, then remember that non-lethal hand-to-hand takedowns are worth the most (50XP), with ranged non-lethal neutralisation netting you 30XP each, but going non-lethal leaves you exposed to guards being woken up if they are found. If you're going to kill, then make sure you get headshots (they double XP from 10 to 20) or go hand-to-hand (for 30XP each).
These values do not change if that particular enemy has seen you or not, which is to say there is no stealth bonus for each individual kill, only the aforementioned bonuses when reaching objectives.
So, if you're trying to max out your XP, concentrate on staying hidden (the 750 from stealth bonuses is worth at least taking out 15 guards) and take down anyone you are confident that you can without detection (this includes headshotting or tranquillising at range if you can't get close).