I've always felt that professional athletes owe their fans because of how much they get paid. For example, if a fighter gets paid $2 million to fight someone then decides to not fight for a year, I think he is cheating the fans. He got a huge payday and we deserve to be entertained by them more often.

Maybe that's a solution. There is a limit to earn depending on how often you fight and your competition. There's really no way to enforce that though.