The game should be fixed so you don't have to.
I'm against restricting substitutions. What happens should be be based on ratings, weight and whether someone is playing out of position. Maybe making ratings relative to position would be a good idea for the future.
What I mean, for example, is a lineman's speed is relative to other lineman, so a 99 speed OL is one of the fastest OL, but would still be burnt in a foot race by a 99 speed DB.