That's my biggest problem with MLB. The season is too long. If I had my way, they'd play their final games of the regular season around the end of July/first of August. Then I'd have the playoffs occur throughout the month of August. Typically the pennant races don't get exciting until late August, early September, and by then I'm so immersed in college football, even if my team sucks, that I really don't pay that much attention to MLB races or the playoffs.
Ending the season 2 months earlier would mean a roughly 100-110 game season. The positive of this is that every game would mean more, and conversely, you wouldn't lose a lot of your fans during the middle of the season. The excitement of opening day and the early season games would transition quickly into the excitement of pennant races. Besides that, it would make it tougher for teams like the Red Sox and Yankees to dominate. A key injury or two or a bad early season slump could keep them out of the playoffs. Teams like the Blue Jays would have more of a chance on occasion. It'll never happen, but that's my ideal scenario for MLB.