As @alexmurray suggested, you should be able to keep your snap strict (and therefore enjoy all the benefits of a stable runtime environment) and plug some of the supported interfaces based on your snap design and needs.
For example, you can use the home interface to access non-hidden files owned by the user in the user’s home ($HOME), including Documents, except other snaps and top-level dot directories. You can also use removable-media to read/write anything mounted in
removable-media satisfy you request of:
secondary (usually bigger) drive?
You just need to add these interfaces to the “plugs” of your application, here you can find the documentation about how to use such interfaces (and/or others) as needed. You can use snappy-debug to get suggestions/understand denials. If you run into problems, feel free to post the snappy-debug output here along with your questions and we are happy to help.
Please remember classic snaps are not installable on Ubuntu Core devices and also run in the global mount namespace, which means great care must be taken for the snap to work reliably across distributions.