To meet our requirements, we have developed a custom integartion between CRM 2013 and SharePoint using client object model. We handle versioning issue and kepping CRM URL in sharepoint and vice versa using client object model. Normally we receive file
through emails and a custom activity scanned (scanned documents are provided by our service provider). We have created an entity of Meatadata in CRM. We a user triage email it populates the metadata in that custom entity. Then the files is moved
to sharepoint along with metadata. This metadata is kept in synced using plugin therefore user can update this metadata anytime.
Another thing to take care of the the document library storage size. We keep one library size to 150 GB and once it is near to finish we move on to next document library .
The third thing to remember is security. We are using CRM security on case and replicating this to sharepoint. If a user have access to case he can view the document related with this case.
Another thing is the max attachment size in CRM is 32 MB therefore if you will be receiving bigger files then there should be a workaround.
Please feel free to ask if you have any other questions.
Regards Faisal