Если блок относится непосредственно к родителю и не может существовать без него, то его необходимо сделать его элементом.
Я за 1 вариант, так как и меню, и социалки и даже логотип могут быть представлены в других частях сайта, например в футере.
Меня раньше бесили всякие header__left и footer__right.
Ведь по сути они одинаковые, и тот и тот например 60% ширины и т.д.
Сейчас я не стесняюсь юзать сетку и размечать блоки классами от неё
.header
.container
.row
.col-md-4
.logo
Избавляет от многой головной боли, типо как бы назвать очередной блок по бэму, который просто колонка.