NBA Basketball as a whole ain't as popular in the states and there are more things to occupy people's time to watch than sports than in the past.
I honestly think they need to move the league to start the season after the NFL season.
I don't know how it is at other places, but even a basketball city like LA during NFL season the sports bars clear out when the Sunday Night NFL game is finished regardless of what NBA game is on. Restaurants have the NFL games on no matter what NBA game is playing. They're fighting against too much American culture surrounding the NFL - which also has a lot more homegrown/local talent.
The first few months kill so much of the hype due to what's happening in football. The NBA season starting in Spring and ending in a Summer play-offs a week or two before the NFL season would be great. That way you can also cut the amount of games played so that they matter more.
Fall and Winter are NFL and College Football time there's no sense competing with it. A football game played in a blizzard between two bottom teams will attract more viewers than a game between the two best teams in the NBA playing a standard basketball game.