I'm working on 2d grid base routing system that allows the player to set a route before moving the player.
But instead of using a path finding algorithm I want an hybrid that lets me be precise with the route while hovering over adjacent tiles and when moving the mouse far away use Astar to find a path from the last point to the current point.
[The dotted line is the Astar path]

The problem is the algorithm wants to take the shortest path and that sometimes comes at the cost of the entire previous route:

In these cases I would like to find the second best choice but the second best could be almost identical to the previous path. What I really want is to find a different route as different as possible from the previous.
I thought about changing the weight of the last path points to a really high amount and running the algorithm again. If even after that I get the same path it means that's the only possible path. I assume this method will give some weird results on maps that have more space than these straight corridors, forcing turns whenever the new path would normally go over the previous path. My solution to this would be pretty terrible I would save the new path restore the normal weight on all points and then run the algorithm a third time from a point in the middle of the new path list of points. I imagine a proper solution would be fairly complicated.
Is this a good to tackle this problem? I'll be changing the weights of the points constantly since I call these functions every time the mouse moves away more than 1 tile from the Line that displays the current route.