The NFL rule that I would change on Day 1 is game day inactives. There are 53 players on an NFL roster, yet only 46 are allowed to be suited-up on game day. Seven must be declared "inactive" 90 minutes before kickoff. Those players do not dress in uniforms; some of them don't even know they are "inactive" until they get to the locker room in pregame and there is no uniform in their locker (yes, it has happened...ask former Cowboys DE Ebenezer Ekuban).
Why does the NFL have this rule? Because of injuries.
Most teams have a number of injured players each week, and forcing teams to keep seven guys inactive levels the playing field, so to speak. Otherwise, one team might have 52 or 53 players healthy/active, and the other may only have 46 or 47. That would not be fair.
But as with any rule or legislation, there are unintended consequences. The most obvious is the number of teams that keep only seven offensive linemen active on game day, which means there are two backups available. That could lead to a starting left tackle getting injured, and guys having to shift positions to protect the QB's blindside. How many times has a right tackle shifted to left tackle, and a guard move to right tackle?
If I have $30 million a year invested in a franchise QB, I want my very best options available to keep them upright. But that doesn't happen in the NFL. Too often, teams are choosing to keep fewer offensive linemen available, instead opting to go with an extra DB or LB who can contribute on special teams.
Also, how are young QBs supposed to develop if they can't get in the game in "garbage time"? The third-string QBs are inactive.