*first post!*
from my experience.. the best way to come up with a melody that suits a chord progression i have written is to internalize that chord progression as much as possible, and then start singing melodies in my head. This works much better for me than trying a formulaic approach.
I think that it is really really important for the most obvious melodic aspect of a piece to have a natural feel/sound to it.. RE-harmonizing the melody is where the theory comes in for me.