NOT including smeargle. I know there is probably a loophole somewhere, so, if possible, include the top 2.
Dragonite, Empoleon and Gallade can learn most TMs and HMs (even though you're talking about TMs, I wanted to butt that in). Also- Mew can learn everything! But you're talking about non-legendaries. So, okay.