I was thinking that as the thief progresses much faster than the fighter, he might actually get tougher than him at some point. I made the numbers and, using 1d4 and 1d8 HD respectivelly, the fighter will always tend to have more HP than the thief at the same XP, at around a 3:2 proportion. But that was it: The saves will always be equal or at +/- 1 difference. Same with the attack rate: the thief will attack worse at some levels, but will get higher levels faster so he will attack as good as the fighter during most of their career. So, essentially, the thief just sacrifices a potential 50% increase of HP and proficiency on some weapons and armor in exchange of the thief skills.
So, if that was the point, it seems unnecesarilly complicated: Writing their own XP chart, assigning a different HD size for each class... Would not be much easier to just say: "This is the universal XP chart for all classes. Fighters get 50% more HP, Thieves get thief skills"?
Well, maybe. Would it be better? again, maybe. Who knows.
The same could be said for the dwarf: In the end he is just the fighter but with MUCH better saves, a skill for discerning shit around dungeons and infravision. In exchange, he cannot use 2h weapons (irrelevant), but gets a small "tax" in the shape of slightly increased XP requirements (a 10%). This also makes that, though they have the same d8 as fighters, their HP increases a 10% less in the same time on average. Wouldn't have been easier to trash the different chart altogether, alongside HD size differences, and just give the dwarves their pack (weapon restriction, infravision, saves, mining knowledge) and an increased amount of HP respectivelly to the thief standard? just a little bit smaller than the fighter one. Maybe just a bump to constitution: It makes sense in-game and would organically raise the dwarf's average HP.
Again, maybe.
But the thing is that, even though I have made similar arrangements in my games, I actually like different PCs raising in level at different paces. It makes leveling up a special thing for everybody, just like a birthday party would not be the same if everybody in the world's birthday was the same day. It also feels natural for each race to have different XP milestones. It makes sense for the elf to level up very slowly!
Still, I cannot help striving for minimalism and if the chance to supplant a chart with a procedure falls in my hands, I must at least consider it. I've had one idea to keep escalated progression amongst PCs while having the same chart for every class. More or less, it is like this:
Everytime you do something that might level you up (like, for example, retrieving 1000 gold pieces), you roll a die (lets say a d6) and sum that number to your XP
You level up at exponentially higher milestones. For example: 6 XP, then 16 XP, them 40 XP, then 100. This way, you never know if this travel will get you leveled up until you actually bring back the gold or do whatever grants you that experience. Some characters will roll higher, some lower...
Once you have this, it is easy to have this system hacked to do other things: Some treasures or quests having you roll higher or lower dice: "this diamond was worth 1d8 XP. Killing that monster just 1d4". You can adjudicate some XP dice to a given "quest" without problem, with the chance of getting a single XP on a 1, or to get a big roll, which can even get you from level 1 to level 2 straight at the first downtime.
Also it can be used to balance races too: some races might be powerful, but they might have a penalty to leveling up and use 1d4 to do it. It can be the effect of an undead curse, or, converselly, be increased by the power of an item/magic/whatever.
edit: see this alternate comparison of XP/HP on Spriggan's Den