It’s not a full time job, but I do think images is one of those “issues” that people do not fully appreciate. You are kind of caught in the middle as your one site has very very image heavy. Thus in your case it’s awfully important to understand the various nuances of using images.
For instance, just optimizing your images will help a bit but maybe not much if you didn’t start with something at an appropriate size. For example, I took a 6 Mb image and then optimized it. It ended up at about 4 Mb. Is it optimized? Yes. But is it also way to big to use for a website? Yes! Original images might start at 6,000 by 4,000 pixels, or bigger.
So resizing (or in your case probably multiple resizings) are needed before optimizing.
@habitualshaker created a Retrobatch routine I mentioned above. Here’s a screenshot of what it will do: take your original image and create 8 different sizes of it from 2100 pixels to 320 pixels wide! Pretty cool. You probably don’t need 8 sizes, but you can easily tweak so you get 4-5 sizes from the original image. And you can fully process about 500 images all resized in less than 2 minutes.