Might be harsh but what about instituting a policy that if you and your team agree to a buyout during the season you are not allowed to sign with another team until the off season?
Teams trade for these players, these players should play for their team. Yes teams change direction and players get unhappy, but that's the way things go. This would make players think twice about asking for a buyout. Do you risk not playing for half a season or play things out with the team that signed or traded for you.
Despite being harsh, I feel like this isn't super unreasonable. Players union probably would never go for it, but what other cons do you see here?