I used to always have 6, or sometimes 5 in Black to save space for Reshiram. More recently I end up phasing one or two out so I end up with 7-8 trained pokémon for various reasons.
In LeafGreen this usually happens because if I use Charmander I have to either over-level it (which makes capturing other pokémon impossible) or train a Butterfree and Pikachu for the first two gyms. In Sinnoh I more often than not end up with a Staraptor which will get phased out some time around gym 7 or 8, because a lot of the pokémon I like in that region are available late on.
In terms of numbers at specific times - I usually have 2-3 by the 2nd gym, maybe 4 by the 6th, and 5-6 by the 7th. In Hoenn I usually end up under-levelled as a lot of my favourite pokémon are available before the first gym (Taillow, Wingull, Zigzagoon, Lotad, Ralts, Shroomish, Slakoth) and then others aren't until much later (Bagon, Rayquaza, Beldum and Lati@s are post-game). Johto is the only one where my team tends to grow almost perfectly - with one pokémon at the first gym, 2-3 by the 2nd / 3rd, and not filling in the last one until just before or after the 8th gym (usually a dragon of some sort). That's almost entirely down to the ability to capture Poliwag with an Old Rod as an alternative to Slowpoke though.