Clearly, the BB's all-in bet was a valid bet before his cards were exposed. If the SB folds to the all-in, there is no need for a ruling. If the SB calls with knowledge of the BB's hand then the BB might be given an opportunity to retract his bet with knowledge that the SB was calling. IMO, this is more fair than punishing the BB twice by first exposing his hand and then asking him if he'd like to let the SB into the hand for a smaller bet.
Bit confused on the term "might be given an opportunity". As in a prior quote: "Now, if the SB does indeed call the all-in bet, THEN AND ONLY THEN should rule #1 be considered. One option is to not do anything at all, let the all-in bet and call stand. I might rule that this is unfair as the SB made the call after he saw the BB hand.... I believe the SB is going to fold. But, if [the SB calls], I might decide to go either way given MANY other variables not discussed here."
So, since you're not certain prior to asking the SB to call or fold, let's work through your solution: the SB calls the BB's all-in bet. How do you decide whether to allow the BB to retract or to hold him to the all-in? What are some of the most important of the "many variables" you will take into consideration. Also, please provide an example of variables where you would not allow the BB to retract if he's called.
As I've discussed at length above, I believe it is important that the SB act before considering rule #1. Accordingly, it is also important that both the SB and BB have no idea how I'm going to rule until after the SB has acted. As you know, there are many variables at the table that cannot be accurately conveyed in this or any forum. I doubt that any examples that I provide here will help change your mind. But, I will offer you an example.
Let's say the BB has 1000 big blinds and the SB has only 1 big blind. The SB calls, regardless of the BB's hand - give him 72o or AA. Clearly, it would not be in the best interest of the game or fairness to offer the BB an option to retract his all-in bet.
Also, what if there are several versions of what happened from the players at the table. Some might say the SB did call and only claimed that he didn't act after he saw that the BB was holding AA. If the SB when confronted then says "OK, Ill make the call dammit.", I'm not going to give the BB an option to retract.
Maybe an overly concerned player who is most interested in splitting rule hairs demanded that the floor be called. When I get there the SB says, "He's right, I hadn't acted yet, but I was gonna call anyhow." and the BB says "You don't really need to be here, I'm all-in and he says he's calling." In that case, I'm bowing out without getting involved
Maybe the BB is Gus Hanson and has raised all-in the last 23 hands in a row. I'm not likely to give him an option if the SB calls.
Maybe the SB says "I was gonna fold but now that I see the BB's hand and the size of the pot, I guess I'm getting the right odds to call after all." In this case, seeing the BB's hand has influenced the SB's action. In the interest of fairness, I could give the BB an option and then proceed to showdown.
Let's not lose sight of what is important here. The TD should not be involved without just cause. If the SB folds there is no reason for involvement. If the BB is obviously satisfied with a call, then there is no reason for involvement. If rule #1 is invoked, the ruling should ensure that the same player wins that would have won if the all-in hand was not exposed and had been called. In other words, the ruling should not change the winner. There is no good reason to fix a problem that doesn't exist.