...that's a horrible idea. I'm sorry. It forces people to carry around a team of set types, rather than making one on their own. I mean, I have a grass-type now, but do I want it forever? No. I'm going to swap it out with a Psychic soon. I don't want to carry around a damn grass-type just to cut down those trees.
Besides, how would your idea work with the Normal type HMs? Would the rest of the fourteen types know them randomly? What about Defog? Will certain Flying Pokemon who can't Fly know that? What happens with Pokemon like Gyarados?
I'm sorry, but no. Keep the HMs the way they are. Evil though it may be, it offers much more freedom than your idea.
Besides, how would your idea work with the Normal type HMs? Would the rest of the fourteen types know them randomly? What about Defog? Will certain Flying Pokemon who can't Fly know that? What happens with Pokemon like Gyarados?
I'm sorry, but no. Keep the HMs the way they are. Evil though it may be, it offers much more freedom than your idea.