I think a big part of the problem is that clubs have to pay 95% of the cap. It's way too much. There is no way that Melbourne's playing list should, as a whole, be paid with a maximum 5% difference to Hawthorn or Geelong's list. It makes clearing out salary cap room for FAs harder, meaning that you have to overpay players and that you have to ridiculously front or back end contracts to meet the cap minimum if you don't land a FA/good player.
Easiest way around that is to free up list sizes so that if you can fit a minimum of 42 and a maximum of say 55 players if you can fit them into the respective Cap. v This would help the lower placed sides rebound faster as well.