Wholly
Just switch off promotion.
New players want to get to elite as quick as possible, players that are in elite are generally serious players, most pro and rookie leagues are full of inactives making promotion easy to those that attend etc. Once a player gets to elite then it's about learning, they can't expect to win when they are 5 or 6 levels behind others. If they lose interest then it means they aren't serious players and just play to win and not playing to learn to get better at the game. When I joined elite I found a leagues with 10k rep players to learn the game knowing I wouldn't win but gained experience. Serious players will continue with the game, those just hunting wins will find easy leagues but gain zero knowledge.
Having a level limit will again just make them lose interest if they are stuck in a rookie/pro league with just a couple of active players.
It's not a solution as it completely isolates Pro tier and it's not a good scenario for the whole league in general. The ultimate goal of having a level threshold is to prevent people from making it to Elite too early, not to completely freeze the promotion mechanism, which is essential for proper functioning of the league.
It's not a secret that the Rookies tier is the most reliable source of new players for most leagues and I don't want to cut it off by disabling promotion to Pro. Neither would any host want to miss out on new players as those would obviously leave to other leagues that have active promotions.
And in regards to your 'hard learning path' statement - I actually agree with the idea that competing with those stronger than you makes you progress a lot faster. But only if the conditions are equal and that's not the case here.
Young athletes don't compete with adults in most sports because they are not yet physically developed enough to guarantee equal chances. The same goes with players of low levels 'competing' with old players in Elite - it’s just not fair and has nothing to do with being a bad player.