I just had a thought about the syncml server.

First, we set up the (open source) syncml servlet somewhere. We might need to do some work on the user accounts and authentication, and we’ll also want a nice web interface for registering for the service. Once done, any software that can syncronise with a syncml server will be usable (although I don’t know many that are), if only in a limited fashion.
Then we write a little Java app that can do some common import/export tasks for the apps that aren’t syncml ready (like reading bookmarks, or Outlook addressbooks) and put it on the site with Java Webstart. You click a link, webstart downloads the app and runs it. The app asks for filesystem permissions (it’s running on the client) then when you grant them it does the import and export.
Rather a broad overview of the work involved, but nevertheless fairly straightforward.
We could even allow it to do “temporary home” importing. Say you’re on a machine temporarily, and you want your calendar back. You could fire up the app (via Webstart) then click “Import my information temporarily” (or some such), and it would backup the current files and replace them with yours from the server. You fire up your calendar app, and voila, it’s yours.
When you’re finished, it can synchronise any changes you did during the session, them restore the backup (so your calendar is back on the server, not on the PC).
Just a thought. Comment below, or via email.