You could add a stop workflow at the end of each set of actions so it won't further evaluate.
If A and B then Action 1 then Stop workflow
If B or C then Action 1 then Stop workflow
If A and C then Action 1 then Stop workflow
If it successfully enters any of the condition blocks, it executes Action 1 then stops further evaluating.
Have a hidden field in your list that is a checkbox. Then, instead of executing whatever your action is, set your checkbox to true. Then it doesn't matter if you enter multiple cases, the only action taken at that level is to set your checkbox. Then, after you evaluate all your conditions, add a step where you take action 1 if your checkbox is true.
-If A and B then set TakeAction to true
-If B or C then set TakeAction to true
-If A and C then set TakeAction to true
-If TakeAction=true then Action 1
Step 3 ... (continue with the rest of your workflow)