Having to know the SHA1 in advance would be a show stopper for rclone ( http://rclone.org ) as it uses a streaming model internally (it can stream between cloud providers).
Being able to append to a file in 1 MByte chunks (or larger) would be perfect - that is exactly the way Amazon S3 multipart uploads and google drive multipart uploads work.
I'm planning on storing files as encrypted X megabyte chunks (where X is TBD) - would calculating per-chunk and then uploading solve it? There's metadata support which could store original filenames etc.
Being able to append to a file in 1 MByte chunks (or larger) would be perfect - that is exactly the way Amazon S3 multipart uploads and google drive multipart uploads work.