Create a basic flowchart with the entire story on it. Take the main line of the story and create branches that both return to the main narrative and terminate either as a loss (like the death of the protagonist or the success of the antagonist) or at a neutral ending (the goal of the story was reached but it was either incomplete or unfulfilling). Once you have set up your main and secondary stories you can begin to further refine your overall plan.
Make the reader's choices have a direct impact on the action of the story. If the reader is given a choice between going right or left, with no information to base their decision on, do not make one way arbitrarily lead to his death and one to success. If there is a trapdoor down the left-hand path have a mechanism for discovering the trap and returning to the right-hand path.
Encourage situations where the reader needs to make important decisions and avoid having them make unnecessary choices. Giving the choice to flee an area or search a room is fine, but requiring the reader to specifically choose how to flee or what areas of the room to search first is becoming too specific.
Remember that, while it is interactive, it is still a story. This means many smaller choices and details are outside of the readers hands. Keep the reader interested with a good narrative and limit their choices to areas where the story has the opportunity to truly branch. The story, no matter what choices are made, is supposed to be moving to a single unified ending.