It goes without saying that mental health is important and if a player feels like they can't do their job because of it then that has to be supported. If a player refuses to play because of a contract situation though, then the club should be able to withhold their wages. 1 game in a week and you refuse to play? 100% of weekly wages not paid. 2 games in a week and they refuse to play one? 50% wages withheld, etc.
Same if the player cites injury but the club medical staff pronounce him fit to play, as that would be the more common way a player would go on strike. Sure Pogba has done it to Man United plenty of times over the last few years.
Players in the NFL often hold out/go on strike because they want a better contract or want to be traded. Unlike football, the sport has very clear rules about financial penalties for doing so. Most of the players on big contracts are willing to give up their bonuses for turning up for off-season training and preseason friendlies, but very few hold out once the real games start. That's because they lose too much money for them to afford it. There's also other penalties to do with their contract status that would have an effect, but it's mainly the wages. Football needs something similar, but it will never happen.