My solution:
Unlimited DP spots, effectively going around single-entity. Keep the cap, make that the restricting factor on how many DP's can be signed (e.g. $5 million cap, DP threshold at $125k, cost max of $500k against the cap, can likely sign 5-6 major DP's over $500k before running into the cap). Institute luxury tax, so every dollar over the $500k threshold costs 25 cents to a equally distributed revenue sharing pool. If you invest in your team, you invest in the league.
Other class of players become League Players (LP's). They each earn a minimum of $75k per year. Each year they are in the league, they get a $10k raise, but max out at $125k after five years of service. They are signed with the league, but their salary is fixed. Their player movement is controlled by the league through the existing allocation draft.
Sample player costs:
4 major DP's for $10m total per year, $1.875m luxury tax, salary cap hit of $2m
5 minor DP's for $1m total per year, salary cap hit of $1m
16 LP's at an average of $100k per year, cost and salary cap hit of $1.6m
Total Costs: $10m + $1.875m + $1m + $1.6m - [revenue sharing payout] = $14.475m - [revenue sharing payout]
This is a little bit more than double the average cost of player payroll currently, with the average salary for the 30 man rosters at a little above $200k.
It gives players a significant pay raise, yet keeps costs highly controlled. It allows for more players to escape the allocation draft, provided they earn the right to enter free agency by being worth more than the LP's minimum.
It also provides a framework for moving forward and modernizing the league's structure. Each year, teams are forced to sign more and more players as DP's as the talent pool improves. Eventually (like 10 years from now), the LP salary structure becomes the league minimum, and all players contract directly with their teams.