Snap packages each have their own copy of dependencies. This means there are lots of packages in each snap, which would equate to large package sizes. Wouldn't this mean that snaps would be so much bigger than traditional debs? How can I make them smaller? I have limited space.
Seems like there's a conflict here for you. Snaps do some great things, but they will, by their very nature, require more space than packages which share dependancies. As much as I hate people who give this response, you'll need to consider if snaps are right for you instead of old fashioned packaging. If you're completely out of options and you really need a way forward, you could do something extreme like btree subvolumes made from snapshots, but that's way over the top.