Jpeg-recompress is a command-line tool which can cut JPEG file sizes by 50% or more.
The program works by intelligently selecting the lowest possible quality setting for your JPEG, which also has the minimum effect on its perceived visual quality.
The command line syntax is straightforward, and at a minimum you can get away with this.
jpeg-recompress in.jpg out.jpg
This tells jpeg-recompress to take the image in.jpg and process it at several lower quality levels. At each stage the program uses the structural similarity (SSIM) algorithm to measure the change in your image, and finally selects the lowest level that still gives you acceptable results.
We tried this out with a few sample HD photos. Processing was faster than we expected, 5 or 6 seconds to find the best quality level and save the image. File sizes were typically 50% to 25% of the original. Most important of all, there was no apparent difference between the "before" and "after" files.
If this doesn't quite work for you, there are various options to try. You could use a different algorithm to check your images, set a new "acceptable" quality level to further shrink the files, and there's a "strip metadata" switch to save the maximum amount of space.
Please note: the project download is "jpeg-archive", but jpeg-recompress is one of the bundled files.