Image Optimization for Multisite

On my wp ms install I can’t seem to get the message out to my users that uploading images directly from your digital camera (4000px) not only hurts your load time, but eats up precious server space. Is there a way to keep the php upload size reasonable, but automatically shrink images when they are uploaded? WP seems to do this already (a browse through the blogs.dir directory indicates multiple copies of a pic at varying sizes.) I want to keep the 640px images, but delete the larger copies without breaking the links on existing uploads, and institute some script that would do this automagically when images are uploaded for future posts. Is something like this available/possible?