To synchronize data, such as documents, use UbuntuOne or DropBox. I can really recommend the latter. This assumes that you don't mind storing your data in a company's data center or cloud. I'm not sure about sharing your music collection through the internet. My network connection is not fast enough to allow this, so I'd go with manual copying or using
For configuration, there are two different cases: applications that use regular text files as configurations, and those that use a gconf, a database or something nonstandard. For the former, you can store the dotfiles (for instance
~/.zshrc) in a subfolder of your Dropbox (or UbuntuOne) folder, and then symlink the files back to your $HOME directory. This works well.
As to the applications you mention, it seems that none of them use simple text files as configuration. That means, in essence, that you can't effectively synchronize them. The reason is that, if there is a conflict, you won't be able to resolve it. Furthermore, some parts of the configuration directory, such as cache files, are bound to be system-specific or otherwise inappropriate for synchronization. In these cases, I say don't bother with synchronization, and just copy over the config directory once. There's an exception, however: applications that natively support sharing a configuration across multiple computers. Firefox can do this, and recent versions of Google Chrome can store at least some parts of the configuration in your Google profile (check your preferences). I'm not sure sharing plugins/extensions is supported, but it's a feature that is being worked on.