The rules are adequate.  They should be enforced very strictly.  The idea of hockey, lest one might forget is to put the puck in the opponent's net.

Let't put the blame where it belongs.  Don Cherry has, for a long while, sponsored, "He's my kind of guy, finishing his check."  Translation: hitting someone when they no longer have the puck.  Illegal, by the way. The penalty is a choice of unnecessary roughness, interference, or attempting to injure.  Call it, eject the player.  

I love a hip check that separates the man from the puck.  That is the only reason for a check.  In case we had forgotten....