It's always about money, and TV money at that. I'd think the realignment along geographical lines makes sense for fans watching in a given time zone. Who stays up late on the east coast to watch a Mets-Dodgers game, or even a Yankees-Mariners game? An NFL-model schedule makes sense with most of the games within the 4 team division in your league and the same regional division in the other league with a small number of games vs. another region.
To do that successfully, expansion to 32 teams would make it work better. Where will the new teams be? In the east, perhaps a team in Charlotte or Ralleigh in NC or maybe Nashville. Would they want to return to Montreal? Out west, the most likely places would be Portland or Salt Lake City. This alignment assumes one expansion team in the east, one in the west, but if both were in the same part of the country, that would require an adjustment. Yes, I see the Cubs/Cards would be split up, but I'm not sure I see a way around it. right now.
East: Mets, Yanks, Boston, Philly, Baltimore, Washington, Pittsburgh, Nashville/Montreal/Charlotte
Central: Minny, Milwaukee, Cubs, Chisox, Toronto, Detroit, Cincinnati, Cleveland
South: Atlanta, Tampa, Miami, Texas, Houston, St. Louis, KC, Colorado
West: San Diego, Angels, Dodgers, Giants, Seattle, Arizona, Las Vegas A's, Portland/SLC.