With the exception of the NFL, the other sports are way down compared to years ago. MLB and NBA games are similarly losing viewers. NHL had much smaller ratings to begin with...
NHL has a couple of problems the other sports don't have...
(1) Before the 1990s, the sport was practically non-existent in the southern half of the country. I live in Dallas...the Stars moved here in 1993. When they moved here, the sports was only known to transplants from the north; I never saw a game before they came here. There were 5 rinks in the area. The Stars have been farily successful in trying to setup hockey in Texas...there are thousands of kids in various hockey leagues now (compared to near 0 before), 70 high school hockey teams now (0 before), etc. The Stars have been able to fill up the arena, but it still is going to take a while to catch up to the other sports. Even then, it will always be tough. Ponds don't freeze in the south during the winter...you can have a pick-up football, baseball, or basketball game with neighborhood kids pretty much anytime; you can't do that with hockey.
(2) The NHL has no team in about 1/3rd of the top 30 largest TV US markets (Houston, Seattle, Portland, Orlando, San Diego, etc.). That hurts...
(3) The sport is pretty white. The NHL needs a better program to reach out to black and Hispanic audiences. I don't believe any NHL team has a Spanish-language radio partner. In Dallas, the Rangers (MLB), Mavs (NBA), and Cowboys have Spanish-language outlets for their games; the Stars don't. Kind of shocking the LA, Miami, and Phoenix teams don't either. Across the country, they're pretty much ignoring 1/4th of the US TV population.
(4) The NHL management are their own worse enemy...Pittsburgh played at Dallas last week. It will be several years before they return under the dumb scheduling.
(5) Few games in HDTV...if ever there was a sport made for HDTV, this is it. I know folks who can't follow it on regular analog broadcasts since the game moves so fast; they say it is a completely different experience the few times a HDTV broadcast is available. The NHL needs to get on its local broadcast affiliates and get them to make all the games available in hi-def.
There are probably local quirks too...in Dallas, the Stars are in a conference where every other team -- LA, Anaheim, San Jose, Phoenix -- is 2 time zones away (well, Phoenix is sometimes -1 hour, sometimes -2 due to daylight savings time). The upcoming games this week at San Jose will mean a local start time of 9:30PM. Hard to build an audience that way (worse, over the air games are on KDFI --- those crappy MyNetworkTV novelas leading into them some nights have hashmarks for ratings -- 0.0).
I think MLB, NBA, and NHL ratings are also declining because local teams are taking the money to go to cable outlets and dropping local over the air games. In some markets, there are no over-the-air affiliates for some of the local teams. For the NHL, some teams have 90% or greater of their games only on cable channels (regional FSN outlet, etc.). In doing so, you've just written off 20% of potential viewers on average.