How about a slightly different approach? Keep the current MLS as it is for now, then make a second league for the new teams coming in. The leagues could be called something like the MLS Premier League (or maybe MLS League 1 or something) and the MLS Competition League (MLS League 2). You could maybe pay extra to get into the top league right away or pay less to add a team to the new lower league.
For 28 teams you could have 20 in the top and 8 in the second league, leaving tons of room for more teams to be added. Promote and relegate the top one and the bottom one (and increase that number as enough teams are added). And to make this work here in America you could have as much interleague play as you needed to both balance the schedule, keep up interest for those lower league teams, promote intercity rivalries, etc. You could have half of the lower league's schedule be against upper league teams so they'd still be involved even if relegated (and so they'd be able to draw larger crowds when the big teams came in).
New teams would like it because it would cost less to join the real MLS as opposed to going nowhere into the NASL. Existing crappy teams would like the interleague play because it would soften the blow of getting relegated as they could still play the same teams on occasion. The league could also compensate a relegated team by temporarily increasing their cap or allocation money or something. Or reward a promoted team the same way, whichever works better.
Just a thought. There's probably a million ramifications that haven't occurred to me yet but this might be a way to get more teams, pro/rel, league growth, etc.