SVG Cleaner is an open source tool which optimises SVG files to reduce their size.
At its simplest, you can just point the program at a folder tree, choose an Output folder, and click "Start". SVG Cleaner then locates any SVG images, removes unnecessary elements and attributes, crunches down whatever is left to save even more space, and exports the results.
If you need more control, though, there are plenty of options available. You're able to point the program at specific SVG files. You can choose exactly which elements and attributes to remove, along with the optimisations and path tweaks to apply. And the cleaned files can be saved in the same folder as the originals, even overwriting them if that's what you need.
The developer claims this process can cut file sizes by 10-60%. As a check, we grabbed 24 sample SVG's from the W3C site, passed them through SVG Cleaner, and saw our original 2.75MB of data drop to 965KB - an even more impressive 65% saving. This won't be typical (the source files weren't optimised at all, and we intentionally chose large images), but it does show that individual savings of 60% or so are very possible.
It's vital that this compression doesn't affect the image, of course, and to reassure you SVG Cleaner displays "before" and "after" thumbnails for every processed file. If there are any obvious differences then hovering your mouse cursor over that thumbnail will display a larger version.
This isn't really enough to validate some images, unfortunately. SVG Cleaner's developer points out that its internal viewer doesn't display a whole range of advanced SVG features - clipPath, mask, filters - and of course you can't check animation from the program's static thumbnails. If you want to compress your images then you'll need to check each one afterwards to confirm it still looks and works as you expect.
The savings you could make are considerable, though, and if you really need your SVG's to be as small as possible, SVG Cleaner can do a lot to help.