Для того, чтобы изображение всегда было 100% от ширины экрана, высота его должна быть «плавающей».
Вариант №1, в котором фон - это элемент img.
В этом случае высота header всегда будет подстраиваться к высоте изображения. Но чтобы изображение было фоном, все остальные дочерние блоки в шапке должны будут быть в блоке с position: absolute;
Вариант №2, в котором фон задается через background у header.
Для этого нам необходимо знать высоту header, которая будет для разной ширины экрана разной. В этом случае спасают относительные единицы измерения vw и rem.
Не уверена, что этот мой способ самый правильный и оптимальный, но он работает.