The problem with this is the following scenario:

event_id = dict(aud_l=1, aud_r=2)
colors = {1:'green'}

Both events get the same color. I think you should just use the default colors instead of trying to augment the user colors with the default colors, which gets confusing.