I'm a very casual fan, so I don't know much about specifics, but it seems that A) There are way too many teams, and B) Salaries seem to be over-valued when considering the league's popularity/revenues. Who's at fault? I have no idea, but it's the owners that sign the players to those contracts (although a few high-spending teams can throw everything out of balance).
Let them cancel the season and see how well the league recovers...