Is there any reason to need the "best" HM slave? Pokemon can only learn four moves, and you can't delete HMs on the fly, so there's no need to have one Pokemon that can learn every HM, right? If you want cut, strength, rock smash, and surf, both Rampardos and Bibarel are equally good Pokemon for the role, despite Bibarel learning more HMs overall. Is there any need to have a good one as long as it can learn 4 HMs that a useful in conjunction? You're going to have to explain what "best" means in order to get an answer for this.