The best way to solve this problem is (a) to increase the cost of an infraction (e.g., 10 or 15 yds for motion or offside penalties), or (b) to send off for the rest of the game players who commit more than a certain number of infractions (if necessary, the team could be reduced to 10 men when the player is sent off).
I think that on the more physical penalties (ONLY), we need a basketball system imported into the NFL.
5 -- or 6 physically related penalties -- and you foul out of the game! This would at least cause coaches to take certain players out for a certain amount of the game.