Firefox has a very nice Vaidator extension that will pick up everything, width very useful error messages too. The link is http://users.skynet.be/mgueury/mozilla/ for those interested. The errors you get in Opera (and Firefox) when serving the page as XHTML are only the real big bloopers (we all make typos). So I don't agree with it being easier to validate.
XHTML strict 1.0 sent as text/html is allowed if I remember right in the standard. XHTML 1.1 sent as text/html is considered wrong.
I think Ian Hickson's opinion does count for something, he is in the credits for helping to writing various parts of the W3C specifications and also for helping to implement Firefox's rendering of any SGML document. I think he knows what he is talking about.
And don't get me wrong, I like XHTML and use it when I can't care and iota about IE or older browsers. Normally when I want to mash it in with other types of XML, that they don't support anyway. I write my pages so it would be very simple to change to XHTML, I find it easier to come back to pages if I have closed all my <p> and <li> and most of the other stuff. I can't wait till HTML is passed out to either HTML 5 (yes that is on the way too) or XHTML 2.
Well you have half your wish of everything being xml/xslt. XHTML is XML, even if XHTML 1 is just kind of hacked into working with a XML phaser. I don't think xslt will become wide spread for styling web pages. CSS is powerful enough for most people, and xslt is more complicated to write. I can see myself useing it though, but I am not your average user. It will take a while till we can, 15 years or so before it is supported by enough user agents and then creeps into the web developers normal tool kit. Right now I am looking ford to seeing CSS3 working right.
I am not sure yet if I will change the doctype to HTML, I would have to change all the input and img tags. But there is also the point that most browsers will treat it as HTML, and not only that as some tag soup since it does not have a valid HTML doctype. Or I could just use a trick in my .htaccess to do content negotiation.