git-annex can do this. Currently it supports Amazon S3, The Internet Archive, Tahoe-LAFFS, and rsync.net as cloud providers (with optional gpg encryption), as well as various options involving your own VPS, local hard drives, etc. Adding more cloud providers is a simple matter of haskell programming, or if you don't do haskell, shell scripting.