Yeah I always thought this was dumb. Obviously later trainers need more Pokémon, so types with few lines are less suitable to be late-game specialisations. Therefore, the less prevalent types should be used earlier and the more prevalent types should be used later, more or less. Here's what Unova has:
>19 - Grass
>17 - Bug, Normal, Water
>16 - Dark, Flying
>13 - Fire, Psychic
>11 - Fighting
>10 - Ground, Steel
>9 - Electric, Ghost, Rock
>7 - Dragon, Poison
>6 - Ice
(Fairy not counted since it was introduced afterwards)
Now with that in mind I crafted some teams, trying to weigh the diversity of the leaders overall against the strength of the individual team.
Poison Gym
>Venipede, Trubbish
Ground Gym
>Palpitoad, Stunfisk
Fighting Gym
>Timburr, Sawk, Throh
Steel Gym
>Pawniard, Klang, Excadrill
Ice Gym
>Cubchoo, Vanillish, Cryogonal
Fire Gym
>Lampent, Simisear, Heatmor, Darmanitan
Psychic Gym (B/W)
>Gothorita/Duosion, Reuniclus/Gothitelle, Sigilyph, Musharna
Dark Gym
>Krookodile, Liepard, Scrafty, Zoroark
Then with the most common types I formulated the Elite Four and Champion (as well as N and Ghetsis) as follows:
Grass E4
>Lilligant, Whimsicott, Maractus, Amoongus, Ferrothorn
Flying E4
>Emolga, Unfezant, Braviary, Mandibuzz, Archeops
Normal E4
>Stoutland, Audino, Cinccino, Sawsbuck, Bouffalant
Water E4
>Jellicent, Alomomola, Swanna, Basculin, Carracosta
Bug Champion
>Accelgor, Escavalier, Crustle, Galvantula, Durant, Volcarona
N
>Reshiram/Zekrom, Leavanny, Swoobat, Haxorus, Gigalith, Golurk
Ghetsis
>Eelektross, Cofagrigus, Druddigon, Mienshao, Hydreigon, Genesect
Some types that were less common made it in over types that were more so because of secondary typings. For instance, there is no Rock type trainer because mons of that type were more suited to trainer of their other type.