However, benefits are based on how much was contributed and for how long. A person who made an average of $40K receives more than a person who made $7K a year, but less than someone who made $90K a year. That is pretty basic.
The curve never was linear. A person at the bottom receives a higher percentage of their average salary than a person at the top. But, the more one contributes, the more they receive. That is basis of the system. Capping benefits while continuing to collect higher withholdings does away with that.
For example, take away the earning cap and a person making $168K would get the same benefits as some making $1,680K, even though the higher earner pays in 10 times as much. That isn't right. Of course it might sound okay to some who don't make that kind of money.
Why not pay all recipients the same regardless of how much they paid in? That would help the folks on the bottom and they wouldn't starve, altho you and I might get less than what we would under the current system. Sound fair? Not really.
LIS, I don't know how to fix the problem. But any fix usually puts the screws to the younger generation. It has always been that way.