Тебе в голову пришел совершенно правильный вариант.
Вообще, в каждой ситуации нужно отталкиваться от того, что должно получиться в результате. Если речь о визуальной составляющей, то на нее и нужно смотреть, подгонять и т.д.
Автоматически можно только только задать object-fit
и object-position
, но зато с этими параметрами и размерами (width, height) изображения потом можно "играть" через медиа-запросы, подгоняя под нужный вариант.