XML и JSON это два разных подхода к моделированию данных.
XML это по сути дерево.
JSON это отображения (maps) плюс массивы.
XML хорош для моделирования древовидных данных. А вот массивы в него ложатся плохо.
JSON хорош для сериализации и десериализации, т.к. в него напрямую отображаются две самые популярные структуы данных.
YAML это альтернативный синтаксис для JSON.
Что значит "человеко-читаемый" я не очень понимаю. По-мне всё, что ASCII — одинаково человеко-читаемо. По этому критерию и XML и JSON и YAML человеко-читаемы.
Будет ли что-то ещё? Наверное зависит от развития языков программирования. JSON рождён от JavaScript-а. Когда-то были популярны S-выражения. Уйдёт JavaScript, придёт что-то другое, я так думаю.
В целом у JSON хватает мелких, но противных проблем.
Отсутствие вменяемой общепринятой спецификации. К примеру простые вопросы. Какие числа можно передавать? Что происходит при дублировании ключей? Это отдаётся на откуп конкретной реализации, что вызывает проблемы при взаимодействии, к примеру в JS целые числа ограничечны 2^52.
Нет очевидных фич, к примеру комментарии, возможность использовать массивы сверху. Опять же отдаётся на откуп реализациям и приводит к проблемам при взаимодействии.
Не специфицирована кодировка текста, т.е. нет однозначного отображения объекта в байты, только в строку.
Это всё не к тому, что JSON фатально плох, а к тому, что есть чем его улучшать.