To the contrary, I think the system is in tune with the laws of supply and demand. If your open salary range is so much lower than the industry average that you can't hire a new member, your existing employees will likely leave. That means you have to adjust your ranges periodically, to make sure they're in tune with industry numbers.
Of course the downside is that if one employee gets a raise, everybody gets a raise (unless the employee gets promoted to a higher position). From the POV of the employees this is a good thing, because that means everyone is fairly compensated.
Or does a different scale apply to you? If so, fair enough.
At a place I worked before, I was pretty embarrassed when I found out I was earning 15% more than a fellow colleague on the team who was just as good if not better than me, purely because I happened to join when market rates were X, whereas he joined when they were X-15%.
I suspect this is a big reason companies don't want employees to talk about compensation.
Though where I am now, we have an "everyone gets the same raise" policy, combined with hiring practices that ensure substantial variances in skill of employees. Not a great situation either.
So I think the fixed scheme really depends on getting your hiring absolutely right, if you screw up, you have to be willing to face up and let the person you screwed up with go.
Of course the downside is that if one employee gets a raise, everybody gets a raise (unless the employee gets promoted to a higher position). From the POV of the employees this is a good thing, because that means everyone is fairly compensated.