1) Never be afraid to reference. When I see a particularly striking image, I save it. I've currently got a folder with ~800 items in it that are just color references. When I can't imagine right off the bat how something should look, I dive into that folder and scroll through the thumbnails until I find something with the right feel and use that as my base.
2) Don't shade with black or highlight with white. Most light has color, even if only slight. One way to start is to try tinging your midtone color with yellow/orange to get your highlight and purple/blue (respectively) to get your shades. When you get comfortable with that, branch out. Generally, if you keep lights as one color and shadows as that color's complement, you'll get decent results. Marco Bucci's "10 Minutes to Better Painting" series has pretty digestible advice, I think. Here's the first episode on color, specifically. The next two episodes after that are also particularly relevant. https://www.youtube.com/watch?v=4LhcNbFMkTw
3) If you're big into the color wheel, switch to a cyan/magenta/yellow one (pic related) instead of a red/blue/yellow one. (I might have gotten this advice from Bucci, can't remember). The colors are more vibrant as a starting point and don't look so muddy when you're blending.
4) Play around with the layer styles that your program of choice gives you. I can't tell you how often I block out the shape of a shadow in a random color, then just scroll down Photoshop's line of styles and see if any of the results are any good. Do that enough and you'll eventually start to get a picture in your head of what they're each supposed to do and be able to summon them on command. Most programs also have hue/saturation and brightness/contrast sliders you can fuck with. If you need a layer to be just a smidge more red or a bit darker, but you don't want to recolor it, messing with those might fix it.