This might sound odd, but only my partner has the capability of making me really stressed, and this is because it takes her about 2 hours of solid work to do it. Otherwise, getting stressed is for other people.
If someone is ranting at me, I just look at them and don't say anything, even if they have a valid point. When they are done with the rant, I say 'Are you finished', and let the next tirade go by. The net result is that one of two things happens - the person goes away (as they are not interested that I don't want a slanging match) or they calm down and a sensible discussion follows.
Having re-read the starting question, a few more things spring to mind. Once'Time Out' has been called after one of my partner's rants (She can nag for England - cruel, but true, and I think that she knows it) I ask myself some questions, and give myself honest answers. (This last bit is very important.)
1) Am I guilty of the things that have been said in the rant? (Selfish, greedy etc.) If so, what changes do I need to make to ensure said problem does not come back?
2) If the answer to above is no, is there something else going on in other person's life that could be causing the problem. (You may not know about this.) My own experience is that I get it in the neck for something trivial, when in fact my partner is worried about something else that is completely unrelated to the rant that I am getting!
3) Is the other person simply being unreasonable, selfish etc?
Once you know what the problem is, you can then deal with it in the qppropriate manner. (I can't tell you what this, unfortunately - circumstances always dictate!)