I have done this in the past using a google calendar as an intermediate. Evolution hooks into the google calendar easily, and there was a plugin I found for evolution which allowed 2-way synching of my Exchange calendar with my google calendar (unfortunately I recently replaced my windows XP with windows 7, and didn't re-install this plugin - and forget what it was called)
However, this does require that outlook be running somewhere with this plugin to keep it in synch.
This solution didn't work with extra (shared) calendars either. (well, it might if you could convince the "sharee" to set up the same plugin linked to a second google calendar). I was only able to sync my primary calendar.