You want the best teams in baseball to be in the playoffs. You also want a pennant race to matter. I think the solution is simple; go back to two divisions per league. If you really want to balance things out, you'd swap an NL team to the AL, but that would raise an entire suite of questions about the DH and would create perpetual interleague play. While this wouldn't necessarily change the number of interleague games, it would simply get people a lot more worked up and make it harder to even the playing field. So you'd have two divisions in both the AL and NL, and division champions would get home field advantage for the playoffs, which is a nice incentive given the impact it has on winning percentage. The remaining two teams playoff teams would be wild cards, and work the same way the current wild card system does. By having two wild cards you drastically reduce the chances that a deserving team will miss the playoffs.
This system could easily be modified to include Bud Selig's proposal to add a fifth playoff team per division. The teams who are second and third in the wild card standings could play a play-in game or series.
Geographically, splitting the AL Central between the AL East and AL West isn't really any worse than having the Rangers in the AL West to begin with. The four AL West (Angels, Mariners, Rangers, and Athletics) would be joined by the Twins, Royals, and White Sox, while the Indians and Tigers would join the AL East. You'd split some of the traditional rivalries in the AL Central, but that is unavoidable. In the NL, the five teams in the NL West would remain the same. You'd need to keep the Cubs and Cardinals in the same division, unless you'd want to spend the rest of your life living in fear of vengeful middle America baseball fans, so the Cubs and Cardinals would be in the NL West. That leaves the Red, Pirates, and Brewers to join the east coast teams (Braves, Phillies, Mets, Nats, and Marlins). So, the divisions would look something like this (moved teams are italicized):
|AL West||AL East||NL West||NL East|
If you look at a maps of the various stadium locations (original map credit: ballparks.com), you can see that the teams are split to minimize distances between intradivision teams. On the west coast, it is unavoidable to have long distances between teams, even in a 3 division set up. With only three AL teams on the west coast, including up in Seattle, the Rangers clearly don't fit geographically, and any other team wouldn't help the issue. As a side note, I love how the entire country of Canada is reduced to a single maple leaf. I guess if the Expos were still around things would be a lot more complicated.