MLS needed a cap in the early days when it was a new league trying to get a foothold in a region that already has 4 major professional sports. Now that it has started to establish itself and develop into a higher quality league the cap is hindering that development. I don't think you just rip the cap off like a band-aid but it needs to be raised significantly in the short-term or have the DP program expanded. Of course a few teams would far outspend the others, but clubs like SKC that have a history of discovering and developing talent combined with the ability to spend at least league average would thrive as well.
IMO, 2 things need to be done if the league goes uncapped. 1) Continue to limit the number of international slots. The best thing for the league is continuing to develop American talent and that won't happen if teams just load up on European and Latin American players. 2) Require more homegrown development. Something like requiring a specific number of homegrown players on the roster would encourage teams to spend on development academies and force even the big spenders to try and develop talent.