Плохо ли задавать блоки с картинками через background-images, а не тег img?
Это как шило на мыло поменять. Что при чтении html будет задержка, что при чтении css. Разница на миллисекунды.
Если это блоки с динамическим контентом, то естественно через . Если статичные элементы, то через background-image(так как приоритет загрузки ниже).
Здесь больше вопрос к шрифтам, а не картинкам. У вас наверное полноценные ttf шрифты весом 200+ кб?
1) Замените шрифты на woff(веб).
2) Прогнать все картинки через
https://tinypng.com.
Для кириллицы посоветовал бы заменить шрифт, на стандартный - 'Open sans', sans-serif. Со свойством letter-spacing: от 0.1px до 0.3px, отлично смотрится везде.