>>53060450in RBY it was explained that when pokemon see your badges, they respect you and listen to you.
that's why for the longest time, as a child, i thought that even your own pokemon would disobey you if you raised them too much at first (this was reinforced by the anime and Ash's Charizard). i still remember misty saying "now that you have the cascade badge all pokemon up to level 30 will obey you!" and then giovanni says something like "all pokemon will obey you without question now that you have my badge!"
turns out this was wrong - all pokemon you catch obey you.
however i think this would be a natural way to prevent overleveling. i think it would be to artificial to do level scaling or basing levels on how many badges you have.
rather, i think pokemon should just stop obeying you past a certain level without enough badges - until of course you earn the last badge, when everyone obeys you.