A good way IMO to have parity is to allow each team to only have 1 supermax player (starting at $37.5 million) and only 1 max player (starting at $30 million). The most any other player on the team can start their contract is at $20 million. That would break up super teams. And prevent super teams from forming. Teams cannot trade for a supermax or max player if they already have them.
Of course keep the salary cap the same. If teams want to pay LT let them.
"My cow is dead, I don't need your bull"