The current system is so flawed, it's difficult to know where to start. I agree with you that people who are obviously very ill shouldn't be hounded and stopping benefits for minor infringements is unacceptable. The emphasis should not be on 'catching people out' to save money.
However, it is also true that there is a peverse incentive for the unemployed to claim they are ill and to stay being ill. I was unemployed for nearly two years. Although I could probably have claimed ESA, I didn't, because it never occurred to me that I couldn't work. However, there were plenty of people on the 'courses' I was forced to attend who had no intention of looking for any work.
The problem with the system as it stands is that it's either/or. Somebody receiving ESA can't look for work, because that would be an admission that they are fit for work, nor can they do a few hours a week if that's all they feel capable of working. They're not even usually allowed to do voluntary work.
I think that needs to change, especially with the rise in the state pension age. There are people who could do (and would probably benefit from) working part-time. Not only would they have a higher income, but their mental health and self-esteem would improve. Employers need to play their part too and appreciate that writing people off just because they have been ill or have a disability means throwing skilled people on the scrapheap. They need to stop patronising such people.
There is a lot of good stuff in the dcocument linked to above, but I'm not optimistic that attitudes will change.
When people claim ESA, they go to lengths to prove they're incapable of work, because there's a finacial incentive. I think the first concern should be what work people can do. Training, mentoring and help with job searches should be provided - and not by an outsourced company motivated by targets. People should not be penalised financially for trying to find work, which is what happens at the moment.