foresightful
[having] the ability or action of imagining or anticipating what might happen in the future. Free Dictionary
Someone who knows what someone else will need in advance could be described as foresightful, or having foresight. The fact that the person then meets those needs is a strong implication although it is not included in the meaning of the word.