I don't see what the problem is. If their contract was for rubles, they get paid in rubles. If it was in dollars, they should get dollars.
If you signed a contract saying you get paid in rubles, you take the risks associated with that.
Maybe the issue is that the contacts were in USD, however they were paid in Rubles. The thing that makes most of this kind of a moot point is that Russian law is very... eastern block. I have family that moved from Russia ten years ago, and family that moved from Ukraine just eight months ago.
Everything over there is pretty much dependant on how much money you can discretely slide under a table. Literally everything.... I am willing to bet a contract signed as being paid in USD could rather easily be flipped around and be taken in Court as to be expressly implied to be in Rubles referencing fine print that doesn't exist, never did, and never will.
Especially when you compare the amount of cash the Oil barons and Mobsters that run the khl can slide under the table compared to the amount a hockey player (hell, even all of them unionized) could on any given dispute.