Companies need to get their head out of their asses and stop using proprietary software from fly by night companies that leave them in a situation where they're too scared to touch the system because it might break and nobody knows how to fix it and the company is gone. Stick to open source and/or in house coded stuff that can be modified/supported as needed either via online based help, or in house.
There's tons of stuff on NT4 servers at my hospital for this reason, it runs critical systems that have no upgrade path and no support. My favourite was a SCO Unix box that ran the entire finances, nobody actually knows the password to get in, and because it's actual Unix, and not Linux, it's very proprietary. You can't just boot with a live CD to try to make anything of the data as it uses a different file system.
But also companies need to be held more liable when it comes to user personal information that gets leaked, stuff like SSNs, credit card numbers, phone numbers, addresses etc. Perhaps they should even be held liable for passwords, if they are found to not be hashed or encrypted, as it shows a total lack of care. Basically if no effort was done to secure the information they should be held fully liable. This would light a fire under their asses to perhaps actually care about security.
Employees who open stupid crap that infect the whole corporate network should also be fired on the spot and escorted out. I would consider that as being equivalent as performing a huge H&S violation such as bypassing a lockout tag on equipment. Stuff like that gets people fired fast. I've never been a fan of the concept of firing people over a mistake or misjudgement as mistakes happen but the concept of not opening unknown email attachments is over a decade old, if people STILL don't know, then they deserved to be fired. Stop trying to blame IT. IT cannot control user behavior. No amount of patching or updating is going to help secure a windows based environment against this kind of thing as there are new vulnerabilities discovered daily.