Character advancement is an odd beast. Most games include some sort of mechanism for making characters better, and most gamers like being able to add new skills, abilities, powers, etc. Very, very few of them simulate how human beings learn and grow. The ones that claim to be realistic about skill development through training or education are often the least (which is typically true of any roleplaying game claiming to be the most realistic, ever). In the end, a lot of experience systems fall under the variety of "do some stuff, get some arbitrary points to spend on things". Unfortunately, it can often feel contrary and bolted on to the rest of the system because, after all, "We have to have an experience system."
That's one of the reasons why I love how Fate Core handles improvement, through major and minor milestones. It captures the spirit of the way characters in books, film and television tend to change over time. It gives the player more flexibility in deciding how they want their character to change, by taking the character's events and experiences into consideration. It probably doesn't work for gamers who prefer to have some sort of objective system in place.
|+1 to Hatchet and Youtube was his Milestone|
I do have a method I drop into most skill-based RPGs (provided they don't have something like it already). It's kind of inspired by vague memories of playing Call of Cthulhu, and it's pretty straightforward. The first time a player makes a skill roll during the session, whether the roll succeeds or fails, they place a tick mark next to it. If the system has critical successes or failures and that is the result of the roll, the player places two ticks. If they roll a critical success or failure later on in the game, they place one more tick each time (but not every time they roll the skill). At the end of the session, the player rolls whatever passes for a standard (unmodified, unskilled, whatever) roll against their current skill level. If the roll succeeds, the character gets an experience point toward that skill. If the roll is a critical success or equivalent, the character gets 2. The player doesn't need to roll at the end of the session either - I usually allow enough tick marks to accrue until the skill might potentially be improved (but not more - in most games I don't allow skill level "jumping").
This method does require a little more bookkeeping, but I've played with different slight variations and it works pretty well. I usually mix it with some more arbitrary improvements such as a skill increase here (typically skills the character doesn't have), skill swaps, added advantages or disadvantages, a spell or ability, etc. In point-based systems, where the group is trying to hew to the point-buy philosophy, this doesn't work so well, but in many games it does.
How character improvement should be handled is something the table should decide on, regardless of what's in the rules. Players want their characters to be able to grow and change, whether it's actually in terms of "character" or just to pick up the next stunt, feat, power, whatever. It's just a matter of doing it in a way that feels natural to the game that everyone agrees on.