I recently replayed all of Gen 3. I avoided repetitions as much as I could (only in LeafGreen, which I played last, did I choose Pokémon I had already used in other games) . FireRed and LeafGreen were leveled up in Pokémon XD before challenging the League for the second time. Also, in LeafGreen I replaced half of the team after getting the National Dex.