Как «правильные» пацаны задают размеры картинок?
Если кратко, то комбинировать 1й и 3й.
Первый вариант не обязателен, но если заданы фиксированные размеры картинки, то браузер сразу место картинке "оставит" и контент не будет прыгать в момент окончательной загрузки картинки.
Второй вариант крайне не желателен, ибо вы потом в css фиг перенаследуете значения. Это нормально только в случаее - когда мы JSом динамически меняем размеры.
Третий вариант масхев, что-бы небыло такой фигни когда картинка вылазиет за границы блока.
чаще 1ый вариант после оптимизации графики и кратности 1024 x 512 px