I tend to like Dragon and Steel types over everything else and focus on teaching them moves that cover their weaknesses.
As far as leveling, I level them roughly equally, with more focus on my main pokemons.
My Steel team consists of Scizor, Skarmory, Excadrill, Empoleon, Lucario and Bisharp (if I was to include legendaries on my team, Dialga would be in place of Bisharp).
My Dragon team consists of Haxorus, Hydreigon, Dragonite, Garchomp, Kingdra and Flygon (again, Dialga would be here instead of Flygon if I included legendaries).
They can hold their own against most teams.