Contraction combined with the continuing development of D-league franchises would be something I would go for. Contraction would improve the talent level of NBA rosters while also expanding the pool of domestic talent available to the D-league.
Contract 2 teams (say New Orleans and Sacramento). Sell it to the player's union by expanding the roster limit by 1 slot for each team (thus maintaining the same number of NBA jobs). 14 NBA roster spots and 2 semi-permanent D-league assignees (could be called up in case of injury), all counting against the salary cap. The increased veteran roster depth would allow teams to let their draft picks get some extended burn in the D-league, which would in turn elevate the quality and competitiveness of D-league ball. Imagine Avery Bradley and Luke Harangody playing 30+ games together in the D-league instead of seeing garbage time minutes 1 out of every 4 games.