Can you limit the size of media files being uploaded not using php.ini?

There are several free programs for manually resizing images, such as ImageOptim, which can bulk optimize images. I know you said you looked at plugins, but in case you missed it EWWW Image Optimizer is free to use if you run it on your server and don’t need to hook into their API for additional tools, just have one of these installed on the server:

jpegtran, optipng, pngout, pngquant, gifsicle, cwebp

Finally, if you want to decrease the upload size, then do it the same way you would for increasing upload size but make the numbers smaller:

In your php.ini:

upload_max_filesize = 0.5M