It feels like I've tried almost every photo storage, sharing and syncing service on the planet. I've learned exactly one lesson from all of this effort and expense: Being organized is the only way to stay neutral and sane.
I've settled on a solution that may not be right for everyone. I run my own photo service on my NAS using a Synology. It works great but I have a well resourced system and a fast Internet connection. A general requirement for this move was to get my photos sorted into logical folders and to remove duplicates wherever possible.
Take it from someone that's tried a lot of different photo sharing services, a nice directory of photos organized by date is the most portable solution when one of the services gives up the ghost.
Move Out of Library Files
Isolated libraries suck for finding stuff. Proprietary library files suck for moving to other services. The first thing I did was extract all of my files from my Aperture libraries. I used a fine application called "Photoshare" that is nearly unsupported. Today, I'd probably open the Aperture library and pull out all of the folders. Then I'd crunch away with Hazel.
Flatten, Sort, Repeat
Even after extracting from Aperture, I still needed a logical folder structure that would work with multiple upload services. The best option for me was to sort photos into a YEAR/MONTH folder structure using Hazel (previous tutorial and another example).
There are other ways to flatten a file structure (like from the command line) but use them at your own risk. Here's a pretty nice tutorial on OSXDaily. I think a nice flat directory is a good place to start for creating a new structure.
To reduce the risk of overwriting files with duplicate names, Hazel can crunch through a directory and rename files based on the date and time they were taken. You really just need a way to make sure unique files are named uniquely.
I have a lot of luck merging various photo backups using rsync on my NAS. It's something I do once and then I delete the sources. First, find all of the duplicate backups, then clear off space on a new drive to hold the combined collection. Run a few rsync jobs using something like this:
rsync -vaEzxXPW /Source/* /Destination/
rsync will only copy over the new stuff but it's a good way to scour everything off of multiple backup drives and create one single directory with everything. I've used this to merge iTunes collections too. It's not perfect but it errs on the side of caution. I end up with duplicate files if they are stored in different directories, but at least I keep the files.
Clean the Dupes
I have a huge number of duplicate folders created from archive, moving and merging over the years. These are true duplicates and not just burst photos separated by a fraction of a second.
Flattening and merging can take care a lot of this but if you want to be more thoughtful and hands on, I suggest trying out PhotoSweeper by Overmacs. It's only $10 on the Mac AppStore and does a respectable job finding duplicates. There are a lot of options in PhotoSweeper for automatically identifying duplicates and fine control over what to do with them when you do. Check out the feature list on the product site
PhotoSweeper works well enough for cleaning duplicates on my NAS but it's still very time consuming. The most time consuming part of using PhotoSweeper is the part I don't trust a computer with. I still need to decide which photo in one of several locations is the one I want to keep. I'd recommend the directory flattening method.
Some day, I hope none of this is necessary. Right now, photo management isn't getting any easier and the churn in the market makes me cynical about relying on anyone. I plan to be my own archivist for my photos but I'll keep trying new services as the temporarily open for business.