I consider myself average at this game, but here's some things I like to do.
1) If I have only one 9/10 and a 2/3, I'll put the 2/3 up on the table if I don't already have the double card of that color. I'll only take a 2/3 off the table if I have 2 or more doublers for that color already.
2) If I have a 4 or 5 card gap (eg, 2,7), I'll hold off on playing the 7, especially if the opponent hasn't played that color. Their hand might be full of middlng cards, and they'll lose flexibility. As soon as you put down the 7, don't expect 2-3 cards of that color to come out.
3) If I have 15 or more points in a color but no double, I'll put the 2/3 up on the table if I have to.
4) If I have 12 or more points and an opponent has already started a color, I will start that color without the double card in most cases rather than put the card on the table.
5) Remember, after you play N of a color, if you're holding N+1 (eg, 6 and 7), you might as well play that next. Sometimes I'm not paying attention, and I'll unnecessarily skip numbers of other colors because I'm thinking a couple turns ahead (or trying to anyway!)
6) Sometimes if I'm fishing for a double card, and you have > 20 points in a color already, I might put a 2 or 3 up on the table if I don't have another play. This sometimes results in the opponent feeling safe to ditch a better card of the same color.
7) Keep an eye on the card count, and towards the end of each round, remember that some card are worth more than others. If you have a double on red, playing a red 7 is worth more than playing a white 10 without a double. Once you've commit to a color, you're already in the bag for the negative points, so that's a sunk cost. Focus on maximizing points across your entire board, rather than worrying about finishing a particular color.
8) If I'm really up against the wall, I will play something like 6,10 rather than give away a good card or jump too many numbers on a doubled color.
9) In reference to the previous point, I try to commit to a color after I have 15 or more points, depending on the situation. Early in the game, if I have 2,3,10, I'll play the 2 and 3, and fish for the others to fill in. This is especially true if I have a double of that color.
10) If an opponent has 3 doublers on a color, I will not discard anything they can use of that color. If they have 2 doublers, I will throw out a 2, not a 3.
11) I generally don't throw out anything higher than a 4 if the opponent hasn't clearly abandoned a color or played past that number. Sometimes I will throw out a higher number (5-7) if my hand is otherwise full and I'm fishing for a double and I don't have any other move to make. I do this rarely.