Можно еще проще. Я как раз вчера переделывала превью для векторстока (изобретала велосипед))) )
1. Первое - это как и у вас, определить горизонтальная картинка или вертикальная. Допустим горизонтальная. Проверить какой цвет для фона сейчас активен (в панельке инструментов).
2. Применить Image size 380 по горизонтали (тоже как у вас)
3. Применить Canvas size 400 по вертикали (добавит те самые недостающие "уши" сверху и снизу картинки. Главное, что бы цвет для фона был выбран белый).
То же самое для вертикальной картинки, только меняем местами горизонталь и вертикаль.
Очень-очень просто сделать из этого actions. В конце я еще прибавляю save в отдельную папку и close после этого.