As movepools steadily expand over the generations, and players are increasingly inconvenienced by HMs, I think GameFreak will change the system some day in the near future. The moves themselves are for the most part quite bad, and they restrict what kind of Pokémon you can travel with or how their in-game moveset works. I mean, keeping Rock Smash and Cut around until the Elite Four gets a little boring, as you're continuously presented with better moves your Pokémon could have as they level up (and for every generation, that happens with increasing frequency. Level-up learnsets don't stop at level 40 any more, nor do they contain only ten moves). This is most notable with Starter Pokémon, should you be so unfortunate to have only one Cut-capable 'mon when you first get the HM.
If it was up to me, I'd leave the HMs in. Just not make them moves, but rather learnable skills of sorts. Any Pokémon currently able to learn, say, Cut, would have the "cutting" attribute and be capable of cutting down trees, once the HM is obtained (I don't think actually teaching it to the Pokémon would be necessary, since it wouldn't be a move per se anyway). Strong Pokémon could smash rocks or push them aside, Water Pokémon could Surf, et cetera. The actual learn list for each HM would be reduced somewhat (no more surfing on Sneasel or Rhydon, sorry), but the concept of HM slaving wouldn't be a thing either. HM Obstacles could be kept in as-is, or even become more common since they don't impact your team composition to the same degree any more. You'd still get to utilize your Pokémon to get around the map, but it wouldn't affect their movelist.