The most effective way I know to shrink an Excel File to its very smallest possible size is to save it with Excel 97. As you may know, the file format has remained the same since this release of Excel (I'm not sure about XL 2003).
Of course, this punctual action won't solve the incremental "bloating" effect as soon as you start saving the file again with a more recent version of Excel. But it is very useful when you want to send a "clean" version of your workbook.
Now, using Excel 97 in your day to day work probably isn't your dream come true. As, to my knowledge, Office won't accept two different releases on the same machine, you will need either a multi-boot or a dedicated second computer (which may easily be quite an old one, because Excel 97 does not need a lot of resources)
Personally, I use this trick to prepare the release of full-featured macro-intensive workbooks that are delivered to our customers. The product is called
VisiSal and features a function to build age/income charts dynamically. The workbooks does contain a very broad set of Excel resources including filtered spreadsheets, charts (as objects and as stand-alone sheets), formulas, dialog boxes and, of course, a lot of macros (100+ components).
In the process of preparing a workbook template, I usually see the document
shrink from 5.3 MB to 1.8 MB, which is not bad. Especially when you want to zip it and send it by e-mail.