>Surf
Based as fuck, strong move that many Water Pokémon would want anyway, lets you explore entirely new areas and find secrets in previous routes and sometimes even towns.
>Dive
Not as strong as Surf, but still lets you explore entirely new areas and find secrets in previous routes.
>Cut
Removes an arbitrary obstacle that blocks your way
>Rock Smash
Cut but in caves
>Strength
Cut but it moves the obstacle instead of destroying it
>Rock Climb
Cut but it moves you through the obstacle instead of destroying it
>Waterfall
Rock Climb but in water
>Whirlpool
ALSO Rock Climb but in water
>Flash
Removes an arbitrary vision-blocker
>Defog
Flash but outside caves
>Fly
Utility HM that's great to have but not necessary to beat the game (And you can totally just go to town, add your Pokémon with Fly to your party, use it to go to another town and switch again)
The problem with HMs isn't that they exist. It's that the majority of them are awful moves and are mostly all doing the same shit. They mostly serve as letting you go through arbitrary obstacles rather than being new ways of exploring the game.
Imagine if instead of Cut letting you cut those few specific plants, it would let you cut ANY tree. Of course the games weren't made for this so it wouldn't work in current games, but if they built the map around it they'd be able to have tons of secrets. AND they made Cut a really strong Grass move on top of that.
What if Fly let you fly around the map instead of just being fast-travel (it's not unthinkable, plenty of JRPGs used to let you fly around the map). You'd even be able to access completely new areas.