Find your niche.
Surf all the way. Both outside of battle and inside of battle. It's my favorite HM because it's always been the most-used throughout the main series, and it packs a punch, too. Sailing the seas might have been a chore, but without Surf, you wouldn't even be able to finish the game! Not that other HMs aren't mandatory (Fly notwithstanding).
If HMs and Pokémon were real, though, I'd like Fly way more, especially if I had more control over it. Competitively, I'd also pick Waterfall over Surf, just because I use physically oriented Water-types more often.