It would be nice to have a switch which would prevent UPX from crunching script files.
When compression is run automatically on a large number of files and UPX is relied upon to determine what can be compressed, some script files can be accidentally packed and thus rendered unusable; this is quite annoying on non Linux/i386 platforms.
You could try something like this:
upx `file *|grep ELF.*86 | cut -f1 -d:`
I agree that adding such a switch would be a good idea.