Baseball revenue passed $6 billion a couple of years ago, I'm not sure how much it dropped following the recession. There models of getting revenue are shifting, moves to
regional sports networks, internet revenue, etc.
Looking at things like the All-Star game ratings just seem pointless. I love baseball, but can't remember the last time I watched an all-star game. It holds no interest to me whatsoever, but in no way does it reflect how much I like baseball, or how much revenue baseball is bringing in.
To me a salary cap is a choice between dividing up the money between the owners and the players. Things that effect me, ticket sales, etc are not going to change because of a cap. More money will shift into the owners pockets vs the player's pockets. It is supply and demand, and if people are willing to pay the money ticket prices will keep going up. Baseball will charge what it can.
There is already revenue sharing in baseball. The Yankees already pay out $100 million. I think you could look at the salary discrepancies, but there would be comparable revenue disparities. Don't we live in a free market economy? You make your money and you can spend it how you choose?
The Yankees pay their tax every year and teams like the Marlins have low payroll and pocket that money. A salary cap without a salary floor would be pointless. I've been to quite a few Marlins games where there were 2000 fans in the stands. I've also been to quite a few Marlins games where they were sellouts, or close to it. The reason, the Yankees, Red Sox, or Cubs were in town. The opposing team is a bigger draw than the home team so let's give the Marlins more money to fix the problem? How about getting a real owner?
As for World Series ratings, there could be other reasons for that. More choices on TV, the time of the games, etc.