How exactly would you "fix" it? Implementing a hard salary cap would just prevent teams like the Thunder from re-signing their own players. And the luxury tax is going to become much more severe in a year or two, so there isnt much more you can do there.
Ultimately, there isnt anything you can do to stop veterans from taking less money to try an win a ring without scrapping free agency entirely. Also, lets not pretend like Miami has just been bringing in great players for dirt cheap that often. Mike Miller has been, with the exception of a couple games in the finals, a huge disappointment. Battier wasnt particularly good last year either (though he was awesome in the first few finals games)
Its not really a big market/ small market thing anyway, since Ray Allen just turned down more money to play for a bigger market in Boston for the chance to win a ring in Miami
I'm not sure exactly how it would work, but just fix it so the league parity becomes like that of the NFL, where the talent is, for the most part, evenly spread out and markets like Green Bay can keep their star players. A hard cap would be a start. An increase in the luxury tax is just a bandage on a gash.