Were there a stipulation that Ray Rice return income he was paid for being banned from the NFL, it would be unfair of him to keep his salary. No such stipulation exists so it would be enormously unfair to take the salary he has earned to this point. Contracts are binding and must account for exemptions.
I believe that Ray Rice should be entitled to his guaranteed salary as determined in the contract unless a specific clause was put inside the contract to void payment under any criminal suit. If no such clause exist, the team should be required to pay out the entitled money to Ray Rice even though his actions have hurt his reputation and has got him ban from the NFL.
It would not be fair for Ray Rice to keep his salary, if that were the case. However Ray Rice was released by the Ravens under the moral clause of his contract. The Ravens do not have pay any of the money he was due to earn under his contract. Since he was under suspension for the first game of the season he has not received a dime of payment. In addition the Ravens have the option to sue him to recover any signing bonus money already paid.
No, Ray Rice should not be allowed to keep his salary because he is banned from the NFL. He is not on a team and will not be playing so he has done nothing to earn the money. The NFL has not suspended him for his domestic violence, they banned him. Since they banned him, what right does he have to the money because he is neither playing nor completing endorsements. His salary should go to players that wont commit felonies and bring the league in disrepute.