Well, I'm not familiar with the GURPS system, since I never really got into the D&D style of RPGs. I have a passing familiarity with the D20 system from playing Star Wars: Knights of the Old Republic, but that's neither here nor there.
However, from a game standpoint, I was kinda thinking of experience as a continuous function, rather than a discrete one. By "continuous" I mean that you notice yourself gradually getting better, rather than having to wait until you "level up" to see a difference. This will especially work with things like aiming weapons - the more you fire your weapon, the better you get at aiming it, and the more accurate you are (e.g., less recoil, etc.). Naturally, there's still a hard ceiling (likely weapon-specific) to keep people from being dead-accurate with a pistol at 1000 yards. Also, there is a system of diminishing returns; you won't keep getting the same advancement in skill each time you fire your weapon and kill somebody.
A problem with this system: it is potentially fairly easy to abuse. If we make firing the weapon the basis for advancement in skill with the weapon, then people will simply stand around firing their guns into the air until they have the desired expertise with the weapon. Thus, advancement in skill would be dependent upon reaching a goal. To continue with accuracy with a weapon, then you have to be aiming at something (e.g., a simulated target or an opponent) to gain skill when you fire your weapon - you only gain skill with successful hits. Better hits (headshots, for instance) net larger gains.
As I mentioned in the death topic, some skills can be advanced by spending time in the simulator. The above rules (ceilings and diminishing returns) are especially evident in the simulator, since nothing beats using a real weapon in a real combat situation. However, for gaining an initial skill with a weapon, the simulator gives the ability to learn without a potential for dying because your skill is too low.
As far as how this affects things, we could have the recoil skill, for instance, be a percentage. The player fires a weapon with a certain amount of recoil, and the skill is then applied to that recoil force as a percentage: If a weapon has a recoil force of 10 (whatever "10" means), and the player has a recoil skill of 20 (or .20, or 20%, or whatever desired representation), then the final recoil force will be 8 (10 - (.20 * 10) = 8 ).
Personally, I think that this will make the game more realistic. After all, in real life, we don't gain skill as levels, but as a continuous improvement over time.
~Brian