Есть предположение что в разных браузерах качество сжатия будет сильно разным. Была статья о "сжатии без искажений" на хабре не так давно - что всё очень печально, по крайней мере через контейнер canvas. В общем-то вам есть в чём покопаться что бы составить мнение.
чисто теоритически это возможно, особенно с появлением web assembly и возможностью использовать готовые библиотеки для оптимизации графики. Сейчас это весьма затруднительно.
Есть очень простой способ - aws s3 + aws lambda для загрузки файлов и обработке оных по загрузке на сервер.
На мой взгляд, сжимать изображения - смысла нет, они очень плохо сжимаются. Есть смысл только менять разрешение.
На php сжатие на лету, без промежуточного файла, скорее всего не сделать, но на яве - запросто.
Очень интересный подход, 99% работы выкидывать в пустоту, из-за мнимой возможности таким способом вычислить тыкву.
Тыкву можно вычислить и по заголовку файла, например утилита file вам в помощь.
Может быть вы говорили не про "сжатие" изображений, а про их оптимизацию? Все равно в этом случае придется это делать только через промежуточный результат. Если это нужно делать быстро, просто сделайте для этого ram-диск (tmpfs), на него лейте файлы и там же оптимизируйте.
Можно повесить вотчер который будет следить за появлением новых изображений в директории и сжимать их
например этот https://github.com/OrlovEvgeny/TinyJPG