I'm no fan of XML and think its use is one of XMPPs biggest flaws, but I wouldn't pick JSON over it… with XML at least you get a lot of the stateful encoding and namespacing (eg. extensions) right in your XML library of choice, with JSON you have to reinvent all of that which is more code, more spec, etc. I'm not really sure if there is a good alternative to XML, sadly :(
No, YAML is just terrible in general :) (ahem, unhelpful strong opinion aside: YAML is way too complicated. If you think XML is over engineered, you really want to stay away from YAML)