...
I don't even want a salary cap, I want a luxury tax like you see in basketball. The FA sets a salary, say £80m/year. For every £1 over that you spend on salaries, you have to pay the league £1, so if a team had a £100m/year wage bill, they would have to pay the league a further £20m. This money is then shared out equally to all the clubs under the tax.
It could be done so the money filters down the leagues, to Premiership teams get 85%, Championship 10%, League 1 3% and League 2 2%.
As an example, lets say the amount of tax paid by City and Chelsea is £30m in a single year. That means £25.5m get split between the remaining 18 Premier League clubs (about £1.4m each), £3m gets split between the 24 Championship clubs etc...
Big clubs get to spend what they want, but the whole of English football benefits. Win/win I say.