I honestly thinking fixing the salary cap would have the biggest affect on things. Players that are offered a contract extension should really demand money that is comparable with other players in the league.
For example, I just signed an FA 86 rated OL for 42mil/6yrs, but I can resign my own 87 rated OL for 19mil/6yrs. The players are even the same age. That kind of value difference typically doesn't happen in the NFL. Players should resign at a discount, just not that extreme.
It'd be cool if the resigning discount also factored in other elements like length of time with the team and playing time. An 80 rated OL that hasn't never gotten to be a starter will likely want full value to stay with the team (because if the team is paying full value, they're going to have to think of them as a starter). Alternatively, an 9yr vet that's been with the team his entire career is much more likely to give a bigger discount to continue staying with that team. Games started, plays played, and years with team are already tracked stats, so JDB wouldn't have to create any new metrics.
If we could make the salary cap matter, teams are not going to be able to stack their rosters and will be forced to make hard decisions like NFL teams do today.