Maybe the problem is promotion altogether? Work your ass off for 1 year and then, you may or may not win the promotion lottery. I guess a more flexible style of salary increase could be created? Work on a project for 3 months. If it attain its goal, everyone on the team receives 0.20% increase. This way you want to make sure your team will succeed. I'm just thinking outloud here. It could be a rubbish idea.
A 20% salary increase might be nice, but a 0.20% increase would be an insult.
The thought would be like this: You give impacting projects to your best talent. Higher the impact, higher the % after the completion. So your less efficient talent would have a salary that follows inflation while people thriving could get very nice salary increase.
If you want to step up, you request bigger responsibilities. Management test you out by giving you 1. You get better % on it. If you fail, you go back to step-1. If not, you just open the door for bigger salary increase and more interesting projects.