JSON is popular because of JS and web browsers. It's the native serialization format of the most popular platform, so naturally it is the most baby ducked. There are also pragmatic reasons such as browsers and various interpreters (Python) being faster at JSON than alternatives (thanks to years of hand optimization).
From an aesthetic point-of-view, XML is ideal. It reads like S-expressions or Lisp but with enough features to be a robust serialization format or even represent code. Validation alone puts it ahead of JSON. Too verbose? What kind of editor are you using that can't add the closing tag automatically or show you validation errors as you go. If type checking is good, then XML is good.
The main reason XML is hated now is that it's too difficult to learn.
People that care about performance will use protobufs/capnproto, which has all the safety of XML and more. People that want something to work out of the box everywhere without too much thought will use JSON. There is no room for caring about correctness for its own sake.