Actually the NBA has a rule that players must stand for the anthem, not sure on the NHL.
The difference is the NBA has a strong history on social justice in which they allow their athletes to demonstrate some exercise prior to or immediately after the the anthem Remember Donald Sterling, former Clippers owner video recorded by his former mistress on his racist speech. The Caviliers lead by LeBron wore Black Shirts in protest of Sterling's comments.
The league owners couldn't fire Roger because until this year, there wasn't a ruling on the Anthem. Before the NFL had the contract with the Department of Defense roughly 6 to 8 years ago, the team's would be in the locker rooms except for the Super Bowl.
In my estimation since part of my graduate work was in Sports Administration and Management, this is at best a poor compromise. The NFL has a huge populace of black athletes and many have seen Kaepernick and Eric Reid not obtain a job yet while worse credential players have gotten a job. I believe this further creates a divide and continues to alienate.