I believe Pokemon Brilliant Diamond and Shining Pearl will bring back the HM mechanics in some manner.
Playing Pokemon Unbound lately, I think they found a great balance of requiring HMs but not forcing the player to use up precious move slots. So long as you have a Pokemon that can learn the HM, it is useable in the field. I always liked the idea of using your Pokemon to traverse parts of the world, but the original implementation of HMs are indeed an outdated mechanic. I think simply being given a Pokemon for a particular job (Sun Moon) is lazy and removes the choice that players have. Making the decision to bring a Pokemon who can help you surf the waters or fly to a town was sometimes a management task in itself, but that has been dumbed down. I think Game Freak (or ILCA) could find a good balance to achieve this goal without making it burdensome for the player.
If I want to break some walls to get through a mountain, it would make sense that I need a Pokemon who is capable of such a task. That's why you see Hikers in mountains with Pokemon that can do that.
I feel like the end goal solution will be to make every single Pokemon (whether based on their type or simply how the Pokemon is built) to be able to innately Surf, Fly, smash rocks, push heavy objects, climb walls and waterfalls, and whatever other creative traversable problem that requires a type of Pokemon for its solution. This would of course depend on the capabilities of the Pokemon. I imagine something like a Kakuna would not be able to cut trees or surf. Since we are limited to owning a Gym Badge in order to even be allowed to use HMs outside of battle (why is this the case anyway?), Game Freak can still keep that restriction.
I imagine a scenario where there are no more HM moves (they can be learnable as simply moves that Pokemon can learn upon level up or as TMs like Flash) and if the player wants to surf or fly, so long as they have a Pokemon that can literally swim or fly (perhaps the size of the Pokemon can come into play here) the player should be able to do it once the required Gym Bade is acquired.
That way we as players still have to decide who to bring if we want to traverse certain areas. I feel like it doesn't make sense to allow players to go anywhere they want if they don't bring the appropriate Pokemon (from the laundry list of Pokemon available for each task it shouldn't be difficult). It's just lazy design otherwise imo.