PNG is already compressed. i created such a screenshot as a test, it has 282 MB. my computer got 16 gigs of RAM but that doesn't help when graphics programs don't utilize it. also the graphics program loads it in a way that makes it a LOT bigger in memory, it cannot keep the data compressed as long as it is working with it.
irfanview: "Too low memory to open image".
Paint.NET: "An unknown error has occured while trying to open the image".
Windows 7 embedded viewer: kept on saying "Loading" but never finished
GIMP: never finished, showed up as "not responding after it ate all available RAM:
a command line tool like
pngcrush doesn't have to load the full file into memory for its job, so it would probably work. but what would it help to compress it down to a really poor level? you wouldn't even be able to recognize anything, it would just be a mash of pixels.
and this when on the other side i ain't programming anything else for weeks. a lot of things would be needed to be done: create the savegame, start external openttd to load it, let it write the PNG file (either putting the server under high load or if prioritized down running for 15 minutes), script a pngcrush job (that again puts load and memory usage on the server or takes another 15 minutes), name the file in a way it can be linked with the game (so get some sort of unique ID from the database first), publish it on the website...
this process only for one screenshot would probably cause more load on the server than all 8 OpenTTD servers together. even if running as low priority processes the long runtime will lead to several of such processes adding up (because it just happens that servers reach the goal within the same 30 minutes, more often than you might think)...
to sum it up:
1. a lot of effort needed for new programming logics
2. high resource cost on the machine
3. low benefit
4. no