If I understand this right, you're taking the wrong approach to training Pokémon. I may be a bit old-fashioned or something in my ways, but I usually pick my team at the very beginning of the game and only train those Pokémon as I go along. For example, in FireRed, my team this time around contained Charizard, Raichu, and Pidgeot, so the only Pokémon I were training by the time I got to Pewter were Charmeleon, Pikachu, and Pidgeotto.
This way you're not spreading experience points out among 20-30 Pokémon, some of which you may NEVER use. Save that for after you beat the Elite.