While B/W toned down the HM use, I still found myself needing to carry a Pokemon that uses fly, or surf if I was going after a legendary. So here's my proposal. Make all HMs TMs, while removing a few of the unnecessary ones. Also, remove all effects on the overworld. To replace the void of stuff like surf, fly etc. use key items. So have a jet pack or surf board or something. This way ,you never have to waste a slot on a fly slave, while still being able to retain the puzzle mechanics the HMs provided.