This is free open-source app which optimizes jpg files. You can build it from source for whatever supported Operating system your want. I ported it to Android and with ease it allows JPG optimizations and size reduction without changing resolution. Download it from herer - http://play.google.com/store/apps/details?id=org.greh.imagesizereducer
2. ImageMagick 6.9+
This is free, OpenSource and multiplatform application which is available on almost all latest popular Linux distros and can be downloaded on Windows, Mac. Download it and convert images like this command:
convert -define jpeg:extent=100KB input.png output.jpg
There can be some problem in older versions and jpg to jpg might not work. At-least this is what i encountered while converting from jpg to jpg using extent. ImageMagick 6.8.
3. IrfanView + RIOT plugin
Download IrfanView windows app and using jpg saver plugin we can choose target maximum file size.