Как сжимать изображения прямо при загрузке на сервер?
На php вызовом внешних утилит. Если без потерь, то самые лучшиеjpegtranpngquant + PNGZopfli (сначала первым, потом вторым)
чисто теоритически это возможно, особенно с появлением web assembly и возможностью использовать готовые библиотеки для оптимизации графики. Сейчас это весьма затруднительно.
Есть очень простой способ - aws s3 + aws lambda для загрузки файлов и обработке оных по загрузке на сервер.