The salaries of these players are based simply on supply and demand.
If you want to lower the salaries then you need to try and convince every sports fan in the world to change a few things:
Stop paying to attend games.
Quit watching games on television which supports media contracts to the networks and therefore trickle down to the teams and athletes.
No more purchasing jerseys, caps, jackets, t-shirts, flags, bumper stickers, magazines, balls, bats, gloves, bobble heads, shoes, cleats or any other items endorsed by a specific athlete or even the team of an athlete.
Now this would obviously reduce the demand for the high salaries of players but it will also destroy a major part of the worlds economy. It is just the nature of the beast that years ago started to rear it's powerful and ugly head.
I choose limit my support of proffesional sports. This my preference because the games have changed so much over the years. I do love sports and the games of each but it is really not about the sport anymore it is about the marketing beast that controls it.
As far as college sports go, I prefer to watch them more because the players that will make it to the proffesional level have not yet tasted the money involved so the attitudes are still a bit in check. Also there are so many more athletes that will never reach that level and play the game with much more heart and passion for the sport itself.