I don't even see the point to making them optional. Just honor all the payments people have already made, and future generations can do what they want.
The hiccup with trying to end or privatize these programs is the way they are funded. Today's workers fund today's retirees. So when the current generation of workers retires they expect to get something back for all that they have paid in. But their money is already spend so the government has to get it from the next generation of workers. Its a Ponzi scheme and its very difficult to break the cycle without some people getting badly hurt.
By the way, the real Ponzi went to jail for his "creative financing" plan.
Option 1: Begin privatization now, using surplus monies to fund new accounts in the shrot term rather than covering general revenue expenses.
Option 2: Use general revenue money to cover the cost of creating a new system of private accounts that is largely seperate from the current program.
In both cases, the old program will eventually be phased out.