I have some pretty heavy workbooks loaded down with sheets, macros, the
works. I've found that simply zipping the files for storage compacts them
quite a bit.
In relation to macros, writing nice tight clean code will obviously reduce
the finished size. Or you could break down one large workbook into a number
of smaller workbooks, and have your code tie them all together.