I never really understood why some gradients looked muddy.
If you visualise the color model in 3D, you can see that this happens when a gradient needs to pass through grey.
This mainly effects gradients with hues that are very far apart.
An easy fix, is to just add another stop with a hue between the other two.