For the good of the game, two things have to happen ASAP:
1. Salary dump trades have to be eliminated.
You can't just allow one team with big pockets the chance to buy up everybody they need. If a losing team decides that they can't afford a player, a better solution would be to make him a free agent available to the highest bidder. If the player's new contract is for less money than his old one, the team that dumped him is forced to make up the difference.
Let's look at an example. Suppose that Joe Superstar is making $15 million a year, and his team - let's call them the Philadelphia Phillies, to pick a team purely at random - decides they don't want him any more. Instead of just calling up Brian Cashman and saying, "Hey, big boy! Open up George's wallet some more!", the Phillies would be forced to put Joe up for auction. Other teams now have a chance at him.
And suppose that Joe Superstar is signed by, say, the Los Angeles Or Perhaps Anaheim Or Perhaps Anywhere in Southern California Where People Buy Tickets What The Heck Angels, for $12 million. The Phillies would have to pay $3 million towards Joe's contract.
"But, Dave," you're probably saying by now. "The Yankees still have more money than everybody else. Won't they just buy up all the free agents?" Well, not so fast, because of rule 2:
2. An upper limit on team payroll.
Yes, this is the dreaded salary cap, but with a difference. If a team reaches their upper limit, they can still sign new players - provided they let other players go as free agents to other teams, as in rule 1. And the players they have to let go have to be actually useful: any leftover salary paid out to players signed as free agents by other teams still counts against your payroll.
For example: suppose a team at random - let's call them the Yankees - decides to sign A. Expensive Rightfielder for $15 million. They have another player under contract, call him B. Injured Rightfielder, for $20 million. If they decide to dump B, they won't automatically have $20 million freed up. If another team, such as Kansas City, decides to sign B for $2 million, and no higher bids come in, the Yankees are still on the hook for $18 million, and can't sign A.
As long as the upper limit is set to something reasonable - such as $120 million or $150 million - this won't hinder the operations of normal baseball teams or of the free market. It's like not allowing one tycoon to corner the market on silver, or one computer company to corner the market on operating systems: some restrictions are necessary in order to make the free market truly free. Clever organizations will still draw well, and will still be able to afford to field better teams - but they'll be doing it because they're smarter than the other guys, not because they have unfathomably deep pockets.
(Of course, there will have to be some measures put in to ensure that the owners don't collude and drive down salaries. A minimum payroll requirement, plus an actual Commissioner of Baseball that cares about the game, would probably be necessary. At this point, we're talking pie in the sky for sure. But I'm talking about trying to solve the problem here, not actually expecting that the problem will be solved.)
The alternative is too unpleasant to think about. At this point, if you're a fan of the Blue Jays, Orioles, or Devil Rays, what point is there in going on? You're just going to be squashed by a giant wallet year after year after year. (The Red Sox will probably get by - they're rich and plenty smart, and they usually can pick up the wild card.) A fan needs to have some hope for the future, otherwise nobody's going to buy any tickets.