There is a comedian that I get a kick out of, one of his favorite statements is "You can't fix stupid" and he is right. We are all human, and as such make mistakes, and that is understandable. But when someone jeopardizes the safety of others knowingly, that is just plain stupidity, and I don't think there is a cure for it.
You can have every license, every endorsement, and tons of experience but if your prone to doing stupid things they don't mean a thing.
Look at the airline pilots that have been caught drinking before flying, they are obviously well trained, experienced, and hold every endorsement needed, but still do stupid things.