Ciao ,
da quel che ne so io non esiste una formula matematica , ma solo un'algoritmo di conversione.
(anche perchè la H di HSL è espressa in gradi anzichè in valore numerico 0-255) , quindi se ho capito bene il tuo problema , penso che ti converrebbe scaricarti un convertitore:
http://www.freedownloadscenter.com/W...icker_PRO.html

Riguardo al problema dei colori , se avessi usato XaraX , avresti risolto egregiamente .XaraX infatti ti da la possibilità di definire nell'ambito del progetto , dei colori linkati ad altri colori , il linkaggio prevedede proprio di vincolare questi colori ad altri , potendo scegliere nell'ambito del modello di colore scelto , di vincolare certi valori (tipo es. nel modello HSV , vincolare solo H oppure solo S!).

In pratica se avessi usato XaraX , avresti risolto con pochi click del mouse il problema dei colori.