One of the interesting thing about the Salesforce platform is the usage of file space. File space on a Salesforce system tends to be rather expensive. For organizations that deal with lots of files that are required as part of your SFDC instance, we decided to offload our files onto our file systems for better security but then upload hyperlinks to SFDS that point to the actual files on our system. In this way, what we were able to do is create unique workflows and state management with the usage of checkboxes to determine whether certain critical files for our SF instance were in our custom object.
If you need an interface that will allow you to upload your files on a consistent basis, please contact me and I will give you my source code. This is written in C#.