.header-top и .header-lower
Так лучше не делать. Старайтесь не использовать прилагательные. Смысл БЭМ в переиспользовании и то что сегодня было вверху, может оказаться внизу и наоборот, после таких преобразований, когда
top окажется где-то в центре как минимум возникнет диссонанс.
Логичнее вынести в 2 независимых блока, прекрасно подойдут названия такие как
panel, bar, info, navigation, если хотите зарезервировать эти имена для других целей, то можно использовать префиксы и сочетания
ibar, i-bar, info-panel. Оба эти блока можно обернуть в единый header и миксовать
class="header__panel panel", хотя я бы их полностью разделил, так как верхняя панель, явно может быть переиспользована где-то в футере.
2) Есть любой блок, у которого структура по своей сути - это container > row > col*(items). Как лучше её организовать с т.з. БЭМ?
Тут нужно видеть с чем работать, но в таком контексте лучше использовать микс:
<div class="news">
<div class="news__container container">
<div class="news__row row">
<div class="news__item">
<!-- контент -->
</div>
</div>
</div>
</div>
Таким образом мы можем модифицировать row и container в контексте необходимого блока и понимать назначение классов.