I had this problem for several weeks and read every thread on the web where someone claimed to have the universal solution. I tried everything that was suggested that I could without having a rooted phone, and had no success.
Finally I decided to turn off everything in my 'Accounts & Sync' settings that syncs, then turn them back on, one at a time, and see if a 'Sync All' failed. This process turned out to reveal that the problem, in my case, was syncing contacts from Flickr. I turned only that sync setting off and have not seen the problem since. I could possibly remove and re-add the Flickr account to solve the problem, but I don't really have Flickr accounts to sync so I don't care.
The point here is that the problem does not always seem to be caused by the same condition for every person on every phone. I recommend the process I followed because it is scientific.