I believe that promotion from unplayable leagues is done randomly based on reputation of the team, so the higher the reputation, the better chance of the team has to be promoted. As for what you can do, there is a date that the results of the unplayable league is calculated and the promoted teams are decided. You can save before that and just reload until your B team is promoted. You can also just use the in game editor to raise your B teams rep to force it to be promoted. Unfortunately I'm not sure how you would naturally raise the B team rep in game though.