Porygon on Fire Red.
Dratini on Fire Red.
Poliwag on Fire Red.
Abra on Fire Red.
Treecko on Sapphire.
If you're also counting the 4th-gen, then add:
Dialga and Rotom on Diamond, which I no longer have.
Drifloon on Pearl.
Palkia on Pearl.
Many with the Pokéradar.
My main suggestion is to, after every fifty resets or so, walk around a few steps and re-save your game. This provides your game with a new set of random numbers so you don't keep seeing the exact same set of Pokémon over and over again.
And this probably should go in the sticky.