If you queue for 2 specific bg's and one of them pops up accept it. It will say on for the other bg you got: *Your queue has been suspended because you or a partymember are parcipating in another activity. You will retain your place in queue." When battleground ends leave it immediatly and keybind this macro as you will have a 1/2 second time before second battleground pops up that you queued before.
Macro:
/run for i=1,GetNumBattlegroundTypes()do local _,_,_,iR,_=GetBattlegroundInfo(i)if iR then JoinBattlefield(i)end end
What the macro does it queues the bg you got highlighted so you can put the bg highlighted what you want to queue for before leaving battleground. If you were to slow to press the macro and the second battleground popped up you can't queue anymore so works only if you done it fast enough by using the macro. This way you can chain your favorite battlegrounds like for me farming rep for ab and wsg at the moment and keep getting instant battleground. Instead having to wait everytime.