Well, the TES leveling system only sounds good in theory, but in practice it's a total grindfest, especially your non-combat skills. There's a reason why only a few titles like TES still have that. Because it sucks.
"Learning by doing" systems work fine so long as the player isn't given infinite opportunity to repeat certain tasks. Note how in warband you learn proficiency skills by doing, because you can't infinitely kill enemies, and there is a risk to yourself. Meanwhile trading, riding and other menial gameplay tasks are relegated to skills. I think this is fine, but we can do better.
What I think about RPGs is that they should try to eliminate the possibility of infinitely repeatable tasks that you can gain skills from. If you want trading to be a passively accumulating skill, make it either something you only gain when you make really good deals or run particularly dangerous routes or whatever. If you want leadership to be a passively accumulating skill, make it be something you only gain after victories against the odds, or gradually over time while you lead a big expensive army. OF course you would have to be careful not to indirectly encourage the player to spam actions, but I think it would work better than just being able to level up everything. Towards the late game when you already have all the skills you need, the level up screen is more annoying than anything.
Another system they could implement is a more ad hoc "trait" system like in total war where skills are qualitative rather than quantative, and can be lost or altered. Seeing a guy who has the traits "famed cavalry commander" or "disgraced former trader" is a lot more interesting than "STR 56 CHA 21".