If parity is your goal, I think getting rid of the max contract (or raising the ceiling on it substantially), and then allowing the team that drafts a player to offer way, way more on an ANNUAL basis (as opposed to contract length) would be the most effective way to limit proliferation of stars on any one team.
If a player had to sacrifice $20m, 30m, even $40m per year, as opposed to $5-10m per year, in order to go to a big market team with multiple stars already on the roster, that would be a much harder choice.
Of course, that would substantially limit the amount of $$$ that sub-star players could make; it would also mean that bad, long-term contracts could absolutely cripple a franchise (imagine $50m per year in dead money on the cap).