This is a hugely complicated question based on the style, the instrument, and voicing among other things.
Generally chords that have more common tones with the chord in the progression makes for a more harmonious sound. For example C major = CEG, E min = EGB, and Amin = ACE, so the shared notes make a harmonious sound happen if you play notes of E minor over C major.
This is of course generalising massively but it might be a good starting point.
For a better answer I suggest you specify style, instrument, and an example of the type of progression that you want to work over and that'll give us a better grounding on which to give advice!
Jazz books will give you a very thorough analysis of chords, substitutions, and chord tones.
If you're a guitarist, you can do worse than Ted Greene's Chord Chemistry. There's an entire chapter on chord substitution and enough chord knowledge to last you a lifetime. For example, one guideline is that any basic triad can theoretically be substituted for an extension, though some work better than others. So over the C major example you could use the notes of C6, Cadd9, or C13 etc.
Ultimately your best advisers are the ones on each side of your head. If they like the notes you play, work out why and repeat in other places :)