First, make the social security tax be on all income, not just salary. This would add to the revenue stream immediately.
Second, eliminate the cap on the income. As income goes beyond the maximum to contribute, which is about $110,000 per year, Social Security is still collected. No matter how much income someone has, social security is taken from all of the income. However, a person who contributes twice as much to social security doesn’t get twice as much income. He gets one and a half times the income, and further contributions would lead to a lower rate of return. People would still get something from the additional money, but not a proportional amount. This would mean the NFL player who goes broke later in life can still look forward to a reasonable amount of income.
I have no idea as to whether this would solve the problem, but it would help.