Sorry, but the only situation where a player might be BB twice in a row is when tables merge requiring a random seat/blind selection. Other than that rare chance...
Although wordy, here's a simple way to think about how to move the blinds, regardless of how many people are left or get eliminated and regardless of if there was a SB in the hand.
Of the remaining players, who ever is to the left of the current BB, even if they are new to the table, becomes the new BB.
If the BB wasn't eliminated, he becomes the SB. If he was eliminated, there is no SB.
The player to the right of the SB (or to the right of the BB if there is no SB) who had been dealt into the hand, becomes (or remains) the button. This may mean players new to the table must sit out a hand. In rare cases, they sit out multiple hands. It also means that in rare cases, the button moves backwards.
This also applies to going to heads up. Regardless of how many players got eliminated, and regardless of whether there was a SB, the remaining player to the left of the BB becomes the next BB. The other player becomes the SB - even if he just was the SB. The new SB also becomes the button, even if he just was the button.