I too don't understand why anyone would want HMs back, that was a good riddance, but hardly a great solution. Sure, I'd much rather use those "ride Pokémon" than HMs, but they were an incredibly lazy and uninspired solution. No one wants to play a Pokémon game to be forced to use plot-based Pokémon they can't choose, people want to use their own, that's the whole point of the games. HMs should be a "built-in feature" of every Pokémon, so whatever you have on you is what you can use, but they're not tied to specific moves. As in, you can surf on water if you have a Lapras, you can push a boulder if you have a Machamp, you can travel quickly if you ride on your Rapidash, etc. Of course, some Pokémon could have access to multiple abilities, but regardless, they would always be your own. Forcing plot-based Pokémon on the player was one of the most stupid choices I've seen.
Id would prefer a different solution.
There should be a menu for pokeride registration, where you associate to every type of ride a given pokemon you captured. Either if it is with you or in the box. So, you are not limited to bring a surfing, or pokemon with specific ability with you. The limitation of HMs is not only on the move, but also in the team building. If pokemon is about freedom of team, that would limit the choices of the player(everytime I tryed a monotype team was really frustrating to handle HMs). Also, it can potentially double the pokemon that are with you, 6 for battle, 6 for riding,. And if you wish, they can be the same.