I guess the key here is, are you storing files or are you mirroring files?
It would seem that the best possible solution is to run your own file storage service, but who has the time/desire to manage that? For a free product like Dropbox, I'm content (for now, at least) to make that tradeoff. I don't have to worry about clients or syncing or servers, etc. I just save my files on my computer and then they appear on my other devices.
Perhaps the trick (to avoid data loss) is to backup locally as much as possible. I do backups once every 1-2 weeks depending on how often I'm nagged by Time Machine. That seems to be the only way to get the convenience of cloud storage while also not losing data if they go away.