The only way to have sports players make less than a mill, is for no one to see them. If people want to see them play, and pay to see them play, then they should make big bucks. You can just put a limit on them just because the make a lot of money. That's stupid, and its also a one way path to communism.
You pay their salary. If you don't want them to make as much, don't go and see the games. But I'm sure not to many people would be happy if you go to a parking lot and start preaching this.