Yea a waypoint system could work.
I don't know how much work would have to be done on the game engine to incorporate that into gameplay. I just find that if I want to flank an obvious ambush point or even an enemy unit that I have 'spotted', I'm forced to follow a predetermined path that the arrow provides (which sometimes leads me to hexes I don't want to occupy). I don't have control of what hexes I want to have my unit move through on their way to the final objective hex.

Maybe the arrow could continually restart as it goes through each hex.
Example:
I want to move my infantry unit behind the cover of thick forest that's a few hexes to the North. As I move the curser up the white arrow starts to extend. Instead of a predetermined route to my desired final location, the arrow stops at each hex, allowing you to choose your direction through any adjacent hex. The arrow then follows the path through the hexes you chose. This could be designed to work quickly by maybe clicking on each hex you want your unit to move through.

Or, perhaps the CPU could give you the predetermined path as a default but gamers have the option to change the route at any hex along that predetermined route where they want to take an alternate path. At any point on the arrow route you could click the hex and re-route.

Or, maybe a hotkey could be established that would enter into a 're-route' mode.
Just a few ideas of how it could be approached. Does anybody else feel they would like to have more control of their unit's movement?