Unfortunately, the trouble with means testing benefits of a certain nature, is simply the cost of administering it and policing it.
If you had to means test certain benefits there would end up being less money in the pot after this was done and it would end up translating into less money being available to those who need in the end!
Its counterintuitive I know, but think about all the paper work that would need to go into each area since each of these benefits are not centralised and run by different groups. In one corner you have tv licensing, in another bus passes, in another energy. And then you corner how much people get for each benefit. It very quickly end up being a money pit.
And if you did decide it would be wise to bring all of these under one umbrella, you would need a massive investment to completely overhaul the entire system.
At which point politely asking people to voluntarily give up their benefits seems, ironically, the most cost effective - and perhaps the only way - to deal with the problem.
Trouble is, people are greedy, and you are fighting a sense of having earned the right to claim many of these if someone has spent their life contributing to the system. I don't really see how you can break that, without making claiming benefits something to be ashamed of (which shouldn't be allowed to happen as this equally ends of disproportionally making the most vulnerable and most needy at the greatest risk).
If someone can come up with a solution that actually isn't going to have these negative problems, I'm sure someone out there would love to hear from you.