There will never be a salary cap in baseball. The league doesn't want one, and the union will never allow it. There shouldn't be for that matter. What you have now with a luxury tax is the best standard for the league to use. A cap means a bottom, and a top. What's the bottom going to be, and tell me how teams like Tampa, Washington, KC, etc meet an $80 million bottom for example? Those teams either can't cuz they perenially stink, or won't, cuz their owners aren't going to lose money on an annual basis. The union doesn't want it cuz it puts a limit on the amount of money that it's players can earn. So both sides don't want one. That's why a luxury tax is the best solution. That tax money is divided by the bottom salaried teams. There is no perfect solution like in Football. The NFL is unique because of it's 16 games per season schedule, and monster TV deal. The other sports rely on different avenues of revenue, like ticket sales over the 40+, or 80+ home games, and local TV rights for broadcasting. Revenue can be split on a national level, but on a local level, it shouldn't be. Why should a team with 90% attendance give some of it's ticket sale revenue to a team with 40% attendance? The answer is, they shouldn't. That's why a luxury tax is the best scenario.
BTW, did the Redsox buy their championship in 2007 when they went out and tossed $70 million for a RF'er, $100+ million for a starter who had never thrown a pitch in the majors, and $36 million for a SS that couldn't play the position? Don't get me wrong, the Yankees have an obvious advantage with respect to payroll, but to say they bought a championship as a Sox fan, when the Sox have deep pockets, is a bit of sour grapes IMO.