When it's ugly, it's ugly. Compared to XSD, even DTD looked good. When XML-DEVers first got a whiff of XSD, the prevailing opinion was negative. Some, like James Clark, disliked XSD enough to suggest an alternative: RELAX-NG. Like I wrote before, one of the problems with W3C is that it doesn't have a reverse gear. Instead of scrapping XSD and adopting RELAX-NG, it put all of its weight behind XSD, smearing the filth across the board. In retrospect, I wish I screamed louder but I doubt that would have made any difference.
So it's no surprise that I wholeheartedly support Elliotte Rusty Harold and Tim Bray's call to abandon XSD in favor of RELAX NG. But it'll take at least 2-3 years of everyone working together to turn this ship around because a) XSD is engrained in many key XML standards and b) RELAX NG support in XML tools is still too sparse. In particular, SOAP-based web services will have to hold off on switching to RELAX NG until specs and tools with first-class RELAX NG support arrive. REST-based web services will have an easier time though since they are not as tool-dependent as SOAP-based web services.
It's ironic that we are in this mess because it was too late to use RELAX-NG and now it's too early. At least, new XML-based standards should have strong, if not first-class, support for RELAX NG from now on.
Postscript: I think Schematron is superior to RELAX NG in some areas like for specifying client requirements.