>>42614734A solution for that's already been implemented. Have pokemon above a certain level (probably scaling to player's badge count) refuse to obey orders some of the time.
You could still potentially cheese important fights with overleveled pokemon, but now it's gambling and hardly less effort than training up your team properly.