Before I begin, let me preface this by saying that I'm not especially interested in alt runs, so this hasn't personally affected me yet. Though I suppose I worry that if I wanted to begin another character sometime it would cause me a world of trouble.
The way I see it, the rule is quite a bit too harsh on legitimate new games, especially ones starting with charmander, who already has so many woes getting through the first two gyms (and not everyone knows about or wants to use mankey for Brock). I know that my personal strategy for any main storyline in Pokemon has always been to focus on one or two Pokemon all the way through because that's more efficient than trying to make 6 Pokemon decent enough to be worthwhile against NPCs.
Anyway, that's neither here nor there. My suggestion is this: because you're worried about alt accounts power-levelling a Pokemon and then trading it back to the original account in order to speed through the game, how about instead, whenever a Pokemon is traded a single time, it will from that point on have a "traded" flag on it. When the flag is on the Pokemon, even if it's returned to the original trainer, it will disobey if you don't have enough badges.
I feel like this is the solution to alt runs while being fair on legitimate ones. What do you think?