Multi-master synching in three geographically separate datacentres
I don't have experience of your exact situation, but could you use:

auto_increment_increment=3
auto_increment_offset=1 [then 2 and then 3]

on your different masters, so that each one generates a different set of id's.

e.g. 

server 1: 1, 4, 7

server 2: 2, 5, 8

server 3: 3, 6, 9