There are a lot of theories, and I don't think any of them explain the whole picture, but here's what I think are contributing factors.
1. To be blunt: The games suck.
Watch the best NFL matchup on any given week, then go and watch almost any random college football game between two fairly even teams. I guarantee you the college game will be more entertaining, and a better watch than anything the NFL has to offer.
NFL games today are too conservatively coached, and poorly played. "Parity" once the NFL's watchword for competitive balance has sucked the joy out of football. The officiating is horrendous, and has been designed to suck every ounce of joy out of the game.
2. There are too many other options in prime time.
The Sunday afternoon rankings are pretty solid, because the NFL is the only game in town and that's when people are wanting to watch football. But on Sunday, Monday and Thursday night there are other things on TV that people want to watch. Shows such as Game of Thrones, Westworld and others have gone toe to toe with the NFL and are making a dent in viewership. People have choices, and being force-fed bad games in prime-time slots are ones they are increasingly not making.
3. At some point, it's over-saturation.
Thursdays used to be for College Football, but the NFL instituting the Thursday game has diminished that somewhat since the big teams no longer want to play then. So the NFL has killed a good sports night by shoehorning a bad product into a night they shouldn't be playing, and it's killing the evening.
We now have NFL football on 3 night's per week and it's just too much. Add to that the fact that recovery times and game-planning in 4-days is difficult, at best, and the NFL is all but guaranteeing you they're going to put on a shoddy product on Thursdays.
4. Yes, some of it is political.
From the anthem protests to the concussion issue the NFL is now viewed more politically than it is as a sports league, and people are tuning out. I don't see a reason for the networks to broadcast the National Anthem that plays before every game (and to be honest, I don't recall them doing that consistently prior to this year) like they do this year, hoping to catch a player on their knees or raising a hand.
Then there's the fact that a lot of people have decided that they cannot, in good conscience, watch tackle football any longer due to the damage it does to the players long-term. One of these political issues is temporary but one is a burgeoning problem that's not going away.
5. The Presidential Election
Yes, this is a small portion of it but it's stupid for the NFL to use it as a crutch. The low-rated game on Sunday didn't run up against a debate, it was just bad football that few wanted to watch.
6. A tone-deaf league.
Roger Goodell is a horrible commissioner who is ruining the league. He's arrogant, out of touch with the fans and has 100% lost the players. Because of this the NFL is running on bureaucratic auto-pilot which is resulting in dumb decisions like banning teams from tweeting video highlights.
Then there was the whole Susan B. Komen Foundation issue, and how the league fumbled that, and then you had the news that teams were charging the US Military for all of those (highly publicized by the League) "Salute to Service" events they had. It was a horrible look for the league, and one that many fans have refused to forgive.
7. Finally, it's just about bad people.
The NFL is full of some pretty bad characters, and I'm not talking about the players I'm referring to the Billionaires that own the teams. Boorish behavior, entitled royal mentality and constant threats to cities for more tax subsidy have cooled many fans on their hometown teams. Add to that player arrests, bad sportsmanship on (and off) the field and you have a League that fewer and fewer people are willing to invest behind.
Ticket prices are at an all time high, to the point where the average work-a-day fan is priced out of attending. The world of $14 beers and $9 hot-dogs is just too much for most families of 4 to afford consistently. To top it all off the teams act as if its the fans who have an obligation to the teams, and not the other way around.
From boorish owners to punk players to a bad product on the field the reality of an NFL broadcast today is not good. And the future prospects don't seem to be any better. People are starting to tune out and vote with their remotes. So called "sold out" stadiums have visible rows of empty seats, and viewership for other events (such as soccer) are on the rise. While none of this is to a point where it's threatening the supremacy of the NFL as America's premier professional sports league, nor is it likely to for the foreseeable future, it is a long-term problem that the league seems only barely willing to adjust.
The Thursday Night Football stream on Twitter was, by all accounts, a success, and there appears to be lasting support for games played on Sunday afternoon. This could be a case where retraction of the schedule, not expansion, is a better thing for the league as a whole. Were I commissioner this would be some immediate steps that I would take:
1. Get rid of Thursday Night Football ASAP. (As soon as your TV contract allows)
2. Eliminate either Sunday Night Football or Monday Night Football, one of the two.
3. Stream every remaining prime-time game on Twitter, other online outlets.
4. Remove the draconian social media restrictions, free the game.
5. Do some honest community/military outreach.
6. Stop the all-encompassing search for parity. Free up the salary cap.
7. Make the prime-time scheduling be a reward for good play again instead of a right for all teams.
8. Fire Rodger Goodell. (immediately)
9. Stop with the International games
10. Work with TV partners to improve the quality of Sunday pre-game shows (which are currently unwatchable)
There's more the NFL could do, but that's where I'd start.
What the NFL needs to realize is that fans have been conditioned over the years to expect NFL action on Sunday Afternoon. That key time-frame is still the strongest in the lineup and they need to be moving more games there, rather than less. One quick fix they could do to ensure better viewership is to stop with the 9/3 distribution of early/late kick-off times and move to a more balanced schedule.
And enough with playing American football in London. Just stop.
The first step to fixing this mess however is to remove the people in charge who are responsible for creating it. This means most of the NFL executive team has got to go. Until that's done, the Shield is going to continue to be tarnished with bad play and low ratings.