Если вы манипулируете цветовыми пространствами для визуального эффекта, обычно проще работать в HSL (Hue, Saturation and Lightness), чем в RGB. Перемещение цветов в RGB для получения естественно приятных эффектов, как правило, является довольно концептуально сложным, в то время как преобразование в HSL, манипулирование там, а затем обратное преобразование является более интуитивным по своей концепции и неизменно дает лучшие результаты.
В Википедии есть хорошее введение в HSL и тесно связанный HSV. И есть бесплатный код в сети, чтобы сделать преобразование (например, вот реализация javascript )
Какое точное преобразование вы используете, это дело вкуса, но лично я бы подумал, что изменение компонентов Hue и Lightness наверняка даст хороший высококонтрастный цвет в первом приближении, но вы можете легко перейти к более тонкому последствия.