You could try "Missing Sync for Blackberry" -- but it costs money and, in my case, lets the BB muck up my iCal entries (so I have it set to always over-write the BB never to sync between the two). However, it does clear things out and transfer all your entries.
Using the calendar on Google then Spanning Sync to upload all your iCal stuff to it, then GoogleSync to get that to the Blackberry sort of works. As you might expect, there are some "howevers". It took two or three goes to get all my iCal data up to Google calendar in the first place. It looked like it had synced OK, but events were missing. Once they were there, it also was a pain to get things to sync back to the BB. iCals events were (sort of) OK -- but you can't sync all of them, only a sub-set given by a number of days into the future and past. However, it never succeeded to sync my contacts at all. That part always fails for me.
An added pain is that I had to be in an area of really wonderful 3G signal before I could start the first GoogleSync (despite having perfect WiFi). Once I'd done the first sync, it would work over my WiFi OK. Then again, I've noticed this with a number of BB applications, they insist on working over 3G for the first time (and I don't get 3G at home) but then sometimes work well over WiFi afterwards, sometimes insist on 3G again!
Of course, your mileage may vary.