I prefer the term "swiss-army-knife pokemon" over HM slave. Not for expediency, obviously, lol, but rather I read that term back when G/S were brand new in one of the game guides. It was referring to Furret, because it was handy for learning many HMs.
And using a pokemon for only HMs makes me feel guilty enough without just using the poor thing as a tool so blatantly! Yes, I'm a bit of a dork, haha.
Generally in D/P/Pt I've had a Bibarel on the team for two or three HMs and spread the rest around (I hate HMs anyway, I can't believe how much space they take up) because I get a huge kick out of the move Yawn, and always want to keep it.
Now I'm replaying Leaf Green and specifically going through with pokemon I've never user before (Parasect and Hypno among others) and while I was thinking about the team I checked to make sure my choices could distribute the HMs between them. It still irks me to have to use them at all, but I want ALL six of my slots for battling with.