That depends primarily on the time scale. In the simple case, when there is no extra time information, and you can assume that it relates to time up until the present, there is little difference.
The slight difference is that 'have been' gives an impression of a longer time, so is probably a nicer thing to say, if you just want to convey your feelings to someone.
When there are some time scales, the situation changes. "I have missed you" relates to times up to the present. So, you can't use it for times that are in the past. e.g. 'I missed you at the party last night'. In that case, you can't use 'I have...'.