Keep it to 3. Also no subs after 85 mins unless for injury, to stop stupid time wasting.
Unfair on a team chasing a goal for any reason, why would you stop them sticking on a striker for example?
Best solution is keep it at 3 and properly add the right amount of additional time for each sub that has been made. If play is stopped for a minute for a substitution to be made, then that's 1 minute of additional time.