Or: you could just not teach it at all to them.
You can have the HM in your inventory if you want to go there, you DON'T have to teach it to a Pokemon.
You definitely want a pokemon with some of the hms on it dont bring them into dungeons incase you lose then you have to go through the hassle of getting them all over again.
I suggest a starter to be rasied up to the final evolution and you can get them all in the waterfall pond.
I have a swampert with all 3 water HMs on it and you would probably have surf and on a water pokmeon anyway because it is so powerful and dive is great in silver trrench/stormy sea. ;123;
pokemon are friends not HM drones, just bring it with you, and if you lose it; go to solar cave 10 floor and get some experience points, or use the wondermail code generator to get a new one. http://www.freewebs.com/mynockx/downloadthegenerator.htm