Как сделать так, чтоб дочерний список меню всегда имел нужную ширину, без явного указания его ширины?
Если я правильно понял вопрос, нужно чтобы дочернее меню было всегда горизонтально?
Уберите min-width и запретите перенос строки white-space:nowrap; у .header__nav li > ul
Можно сделать вот так: codepen.io/anon/pen/VeMyVr
добавить  white-space: nowrap;li > ul {
/*...*/
white-space: nowrap;
}