Как я понимаю, сейчас существует только глобальное пространство имён блоков. И это не может меня не настараживать.
Представим, что прошло немного времени, БЭМ стал настолько популярным, что каждый считает своим долгом написать свою библиотеку. В каждой библиотеке блоки называются как угодно их авторам, и с большой вероятностью 2 разных по смысла блока из двух разных библиотек будут называться одинакого. Теперь предаставим, что кому-то в одном проекте нужно использовать эти 2 разные по смыслу блока для двух независимых задач. Впрочем, если кому-то нужен всего один из этих двух одноимённых блоков - один из них всё равно испортит другой при наложении уровней переопределения. Вот такая печалька
Может быть добавить возможность явного указания из какой библиотеки/уровня переопределения следует использовать блок, а если такого явного нет указания, то считать, что определение блока надо смёржить из существующих уровней переопределения. Так же можно явно указывать из каких именно библиотек/уровней переопределения следует смёржить определение блока в конкретной ситуации.