That story made me sad ;;
Anyways, two of my main Pokemon actually had HMs in my imported Black. Stoutland had Strength and Swanna had Surf and Fly. Since Swanna had the two primary moves needed, I didn't really need to carry around a slave.
However, when I got to my English Black and White, none of my Pokemon were taught HMs. As a result, I captured Ducklett in both (named Sauce in Black and Qwerty in White), and they both learned Surf and Fly. I also found that Druddigon was useful as a slave as it could learn Strength, Cut, and Surf. However, for Waterfall/Dive/Surf I think I used Frillish? At least in White I did.