Part of the problem is that people are living longer, and are mostly healthy and able to work longerYou're right about the demographics, but I'm not sure this part is correct. Yes people are living longer, but it seems that a great deal of that is that when a 70 year old contracts condition A which used to be fatal, we can now often keep them alive at great expense until they die at 80 of condition B. It doesn't mean they'd be effective workers at 70.
My "obvious" solution is to focus on curing aging, which is generally the fundamental cause of both A and B. Until that happens, means-test benefits. Warren Buffett doesn't need to be getting checks from the government.