I found that 6 sample slots made a different of a bit more than 1KiB (same with an uncompressed IT file). That is not a whole lot of course, but I suppose it could make a difference when size really matters. Of course it would also be possible for people to do it in their tracker (if it supports reordering samples), but it would be even nicer to automate this.
Talking about optimizations... MO3 keeps unused envelopes (which cannot be enabled in the XM format) and envelopes parts that can never be reached (specifically, the parts beyond the loop point in the IT format, where there is no command to jump around in the envelope), which is a pointless waste of space. I guess that removing those parts would be a trivial task, so why not add it to the encoder?
(as you might notice, I am currently fighting for every byte I can drop in a specific MO3 file...)