I'm surprised to see this article cite sync as a major problem. I find iCal's CalDAV support to work very well, and if you're competent enough to use Emacs then you should also be able to set up your own install of Darwin Calendar Server (or just use Google Calendar) to sync against.
I have used self-hosted Darwin Calendar Server & more recently, Google Apps for a client that needs iCal syncing. Somehow we seem to have more problems with CalDAV syncing (e.g. timeouts during sync, unavailability) with Google Calendar than we ever did on DCS. It seems like, and probably is, an afterthought for Google.
[edit: ActiveSync, now supported in iCal, seems to work pretty well]