Есть ли класс для универсального уменьшения-обрезки изображений?
Попробуйте TimThumb.  Например с такими настройками: <img src="timthumb.php?src=image_name.jpg&zc=2&q=80&w=100&h=50&cc=ffffff">
А не проще ли просто расширить для каждого изображения размер фона и подбить их через тот же фотошоп под одну ширину/высоту? Или это обязательного должно быть сделано при помощи кода на стороне сервера/браузера?