The following is a design framework where the pathing issues you described do not exist. By framework, I mean a pattern you use to design your forces so that the issues do not exist by design. It is a top-level pattern that guides the overall design. It is not a technique at the low level of the design. It is something you adopt the moment you start designing.
I am also showing a picture, because when I first saw AngleWyrm's picture I thought he was going to say this.

The picture shows an abstraction of a story with two paths. The lower one is easier to stay on because the relative effort required for each progression is shorter than that required to stay on the upper path. When the player falls from the upper path, the player could continue in the lower path. Since the lower path catches the falls, we consider the lower path to be the default path. When the player falls to the default path, it may be impossible to return to the upper path. But in this case, the player was not merely given a choice between two paths: The player tried one path, but failed. It does not matter whether the player reloads. As long as the player does not succeed in staying on the upper path, he will fall back to the default path.
There is a global pressure the moves the plot forward. If the player does nothing, the player will be pushed off the platform by the pressure. The ending state of inactivity is always "gameover". This ensures that the game would not end in a state where neither the game nor the player know whether the game can be completed successfully. At the end of the axis of plot motion are two distinct roles to play at the ending scenario. The default role of the player is Role 1. The path towards Role 2 represents the player's struggle to break from his default role. The path leading to the role gives the player the opportunity to alter the ending of the story by playing a different role. The two levels do not represent two possible endings. There are many possible endings. They are not shown in the picture.
The ending state depends on the player's performance at the end given the available options of the player's role. The colored circles represent upgrades that the player could obtain in the story. These modifiers are analogous to paint rewarded by the game, that the player could use to color his character. The player could choose not to use the paint and stay white, but that is a detail.
If there are more paths to more roles, the paths would either be arranged in the same vertical axis, on in an axis coming out of the screen at an angle. The overall shape with multiple roles could be a cylinder where the failure state is along the center or the cylinder, and the default path is the lowest path surrounding the gameover rod.
In summary:
This framework gives the player choices, and the choices reinforce each other. They are crucial choices but they do not lock the player to one. The player could also have the freedom right up until the game ends to choose the lower role (this assumes that the player earned the upper role, but decided to play in the default role). The issues in the original post do not exist in this design. (There could be other issues.)
Example:
Game: Zombies
Zombies are coming your way, you must first decide whether you want to fight or flee. The default path is to fight (I declared it randomly). After choosing the default path, I place plot elements such that fleeing is the upper path.
To fight, you would gather woodboards near the house, barricade the house, make some bombs and weapons, and perhaps teach your children and spouse how to fight.
To flee, the player must first find gas, then bring gas to the truck, drive the truck back to pick up the family, then drive away to safety. If you fail at any point of this chain, you fall back to the default option to fight. However, depending on how far you got, you may gain resources such as the gas and the truck to help you fight.
If you succeed in getting gas and the truck and such that you could leave town, the game gives you a third option to help your neighbors by defending them. For example, you may meet a sheriff who told you were the heavy weapons are, so that if you could bring them using the truck you could help save those that cannot leave. This is the choice you could make near the end given that you already have the opportunity to simply flee the town and be safe yourself. It is possible that you brought back the weapon, but still decided to flee, or that on the way, a selfish neighbor tricked you off your truck, and you had to decide whether to kill him to get back your truck, or to let him, thus forgoing your chance to flee and stay fighting. Or perhaps once you start fleeing, you find that the road is blocked and there is in fact no way out, so you are beaten back to the fight option, unless you realize that you could use the heavy weapon to blow up the blockade... etc.
So although there are only two roles (fight or flee), there are many color possible in the story and many possible endings. These modifiers and endings work together as a group because I decided that a default path exists (fighting), and I made the forces of the story to drive the player back to the default path. The opposite forces to the upper role makes the design easy because I know that if any point the player fails, he simply falls back to the catch-all default role of fighting.
Note that the choice to choose fight as the default is random. If flee was chosen as the default, then the direction of interactive pressure would drive the player away from fighting toward fleeing. For example, your character might be weak to begin with, so "fighting" would involve your convincing other characters to work with you.
There is no reason that the default path stay the same throughout the game. You could have the paths twist like a spiral. This situation is exemplified in the case where, everytime you meet a new group of neighbor, they strongly suggest you to do the opposite. At first, everyone agree that you should fight. Then someone found something and suddenly everyone agrees that you should flee. This does not escape the framework. The roles remain applicable to the context of the game, facing the same global pressure throughout the game. The variations within the story do not change the nature of the global pressure in any way that would nullify the default role.