I think a lot of different factors are providing the NFL with low ratings.
- Crappy games. Too many games have way too many penalties or just bad offense/defense (ex: Panthers-Bucs on MNF)
- Dissatisfaction with the NFL. Bad reffing (Seahawks-Falcons ending), inconsistent punishments for players (any Goodell punishment), bad rules (cleats, celebrations penalties, etc)
- Only so many people watch lots of football outside of their favorite team (people don’t watch games if their team isn’t playing)
I’m not sure how you fix this, but I would suggest controlling what you can.
Fix the punishment system, train referees better, take back some rules that hamper game, eliminate some commercial breaks, figure out how to get best teams on prime time, etc.