Here is my idea to solve the whole CBA, forever. It probably has been proposed before but deserves another look.
The basic approach is that the league pay the Players Union a set amount of money each year (say $1ooM per team) for a total of $3B. The league decides how the various teams contribute. Small market team probably to pay less that large market teams, but it's up to the owners to decide.
The Players Union then pays the players. This covers all players (major and minor) salaries, per diem, health care, retirement fund, signing bonus, etc. They can concoct any formula they want to compensate the players. They could pay all players the same, come up with a formula based on years of service, performance, whatever they want. Since there would be no need for agents, the player would not have to give any money to anyone else.
The CBA would define how many years of service (minor and major) a player would have to stay with a team before he would be free to "sign" with any team the player wanted. The "signing" would not be based on money as the Players Union gets to decide a player's salary. The "contract" would be an agreement between the player and team as to how long the player would remain with the team. The union decides what to pay a player who is not signed by any team and for how long.
A team would have to find ways to attract a player who is a "free agent". The city where the team resides, how well the team has performed, how good the coaching staff is, teammates, etc. would all factor in to why a "free agent" would want to sign with a certain team. The better run, winning teams would attract the better players.
I like this approach because it solves so many issues. The teams no longer have to be concerned with negotiating with each player. The players get a salary decided by themselves as to what is "fair" plus they don't have to pay agents. Players get to choose which team to play for after they have completed the years of service or their contract is over. Teams can focus on ways to be successful while knowing their player costs are fixed.
Works for me! What do you think?