I think this is a very wrong-headed way to look at it. The plethora of tools and technologies available isn't the problem, nor is it a lack of standards. Email headers are standardized. If you want to get to the meat of the problem it's that companies such as Microsoft decided not to comply with standards, went their own way, and everyone else had to be compatible because Microsoft's market clout allowed them to gain wide penetration. (Microsoft is hardly alone in this, they are just the most obvious target.)
Okay, point taken. I shouldn't have said that they aren't standardized. I don't have the site bookmarked on my laptop - it's something I use at work, and right now I'm on a train just west of Kingston, Ontario (yes, a train

) - but I know there is a standard for how those headers are supposed to be formatted, and what the various error numbers mean. But when one company is using Microsoft Exchange Server to handle its email, and another is using a different system, and a third organization uses yet another, somewhere along the way (probably Exchange Server) decides to write out its own messages, making those standardized ones irrelevant. And finding the documentation to process those non-standard messages is next to impossible. So yes, it would be lovely to be able to take those companies to task who ignore the standards. Unfortunately, as you point out, M$ is the elephant next to the mice that are everything else, and they get to do whatever they want.
If anything, I think the argument is for more standardization as well as concerted efforts to punish entities that don't comply with those standards.
I'd love to be able to do that - but how? 99% of users don't care about that, and will continue to buy software that is incompatible with everything else just because it's from M$. Unless M$ decides to open up their API for the benefit of those of us who are developing software that needs to interface with theirs - and we all know that the Toronto Maple Leafs will win the Stanley Cup before that happens - then we developers are stuck.
HTML and especially JavaScript were clusterfucks for years because of non-standard implementation wars between browsers.
Hell, they still are, though it's better than it used to be. I had a client for whom I was sending out an email blast to their customers a few months ago. I looked at it in Yahoo Mail - perfect. Gmail - perfect. Using Firefox, IE, Chrome, Safari, Outlook 2003 - perfect. Outlook 2007? Looked like crap. It took us two days to redo the client's HTML so that it would look decent (and it still wasn't perfect).
Security is a whole other ball of wax. The Internet is insecure because it was designed that way. Individual servers can be secure but the network itself is fundamentally open and trusting. It's why DDoS attacks still work despite being so simple and well-known: they exploit the basic open nature of the Internet.
I am against any rearchitecting of the Internet in the name of "security." That is nothing more than a cover for massive government intrusion and control.
Well, if you want to get technical, the Internet was "designed" so that a nuclear attack wouldn't bring down all communications between government installations - it grew organically on top of ARPAnet, Usenet, etc. But what I was referring to was holes like those which allow people to hack into networks using nothing more complex than JavaScript - and I've witnessed it with my own eyes. Stuff like that shouldn't be able to be done, and maybe one can argue that the designers of those networks are to blame, but as a developer, I can't think of a single reason why you would want to design your system so that that was possible.