I’ll offer a different idea:
Forced choices that allow for qualitative specialization. “Perks”, if you will, that aren’t tied to how much XP you can spend, but rather that you can only choose one of at each level.
So, for example, let’s say you have a Melee skill, and let’s say it works on a percentage system of 0-100 points. Designate mileposts along the way - for convenience’s sake we’ll say every 10 pts - and when you hit there, you get to pick a Technique from a fixed list available at that level. Let’s say we’ve got ‘Slicer’, ‘Smasher’, and ‘Stabber’ available at level 10, and then maybe a couple that are for people who don’t want to specialize in a weapon type like ‘Take a Hit’ and ‘Counterattack’.
Then, at level 20, you get to pick another Technique, and some of them require that specialization. If you picked up Slicer at 10, then at 20 you’ve got an option between Whirlwind Slice and Throatcutter, along with more generic options. While someone who picked up Smasher qualifies for Knockdown and Hammer Leap, instead.
Now, there are obviously downsides with this method, including the fact that some players are going to be so paralyzed by the choice that they do their best to never make it, or abandon a character rather than be “locked out” of any possible future choice. But it’s an option.
One of the other options that I’d really like to see more done with is positive reinforcement. If someone chooses a specialty, then reward them for having their character play to that specialty and open up rewards/opportunity based on how many times they’ve willingly engaged in that behavior. So, if someone wants to be a generic fighter/talker/mage, that’s fine!
But, you can have a player say, “I want my character to be a FENCER.” And then work out some milestones for a fencer that the game wants to promote and support, and that will be viable opportunities. When the character engages in those activities (uses a fencing weapon, choose the ‘parry’ option in combat, challenges people to one-on-one duels, whatever ‘being a fencer’ means in your game), then they get a little ‘tick’ in a box that counts up to a specialization reward for Doing Fencer Things. That could be a special fencing technique, or bonus, or even things like NPC recognition for Being a Fencer, like a title or a rank.
Get people invested in the option of being a specialist through the behaviors and actions they choose for their characters.