I would also suggest the coach takes fouls into consideration when substituting players, depending on his coaching skill. Maybe think about giving better coaches the ability to "tone down" more aggressive guys or base fouling on player experience.
I was running up a lot of fouls to start with .. 27, 30 and 32 in my first three games .. which is well above the average of "25.2 (Jazz)". I started leaving out the worst offenders, results have improved ( 32 fouls in one game is just asking to be slaughtered ) and my foul rates are down, but having players on your roster that you simply can't play unless there is a counterbalance mechanism is rendering a lot of players completely useless.