Color negation is very well defined as 1 minus color in the RGB color space:
In[2]:=
1-img
Out[2]=
The LCh color space has channels for lightness, chroma and hue:
In[3]:=
ColorSeparate[img,"LCH"]
Out[3]=
,
,
This allows negation to be more targeted. For example, negating only the brightness while preserving the color components replaces bright colors with dark colors: