My feelings on the topic of rubato, which means to steal time and as awsom mentioned, you must give back that time, it is the yin and yang of rhythm, give and take, allargando and rubato...
I have found that when I play with no rubato people will say, you play too metronomically!
If I play with too much rubato people say, your rhythm is all over the place!
So my answer to this problem is to use rubato, but use it very subtly, and only lavishly when needed occasionally, if the rubato is there, but so subtle that most of the audience cannot detect it, then I feel that is ideal.
Maybe I am wrong there but I find it works for me.
In order to execute a quality rubato, one must really understand the phrasing.
You need to know where the cadential point is towards the end of the phrase, and you need to know on which exact note the cadence culminates and achieve's it's new home point. You may call that point the climax of the phrase.
You need to understand where the phrase is starting to move away from it's original home, where it is starting to develop, now that is not so much a precise point usually, but there is a main area that is obvious.
The idea is, no matter what you do, I would start the phrase strictly in time and would not start bending the pulse until the phrase starts to develop (that being said, sometimes the start of the phrase indicated in the score is truly the ending of the previous phrase), and I would make sure that I return to my original pulse by that definate point in the phrase I call the climax of the phrase, it is because of your ability to return to this original pulse at this definate moment, that you may be able to bend the time prior to that point. (it is like throwing and catching a ball)
There are two basic ways in which one may bend the pulse:
1. one may use "giving time" followed by "stealing time" until you reach the climax of the phrase in which you must return to the original pulse.
2. on may use "stealing time" followed by "giving time" until you reach the climax and return to strict pulse.
There are situations where I will use the following two ideas:
3. "giving time" followed by "stealing time" followed by "stealing time" followed by "giving time" and then a return to the pulse.
4. "stealing time" followed by "giving time" followed by "giving time" followed by " stealing time" and then a strict return to the original pulse.
I don't have time to describe exactly where to use these above four ideas, but generally they are tools to try and show the truly beautiful parts of the phrase try and to give time to emphasize something imporant and take time from those parts of the phrase that are of less importance, the main thing is you can give time to longer notes, to special harmonies, to grace notes, rests, silence, arpegiated notes, anything new or special in the score such as a special shift in harmony, long notes. Sometimes people just go with: make the longer notes longer and the shorter notes shorter and that works too so long as you understand that you need to swing the phrase back to the original pulse at the climax of the phrase, which is the most important note in any phrase, and can be emphasized even if it is marked ppp, emphasized by coming out of the rubato into strict pulse.
That being said one cannot calculate a rubato, it must be natural, what I am offering here is just a map, showing you what type of rubato you can use and when to use it, but the rubato itself must be completely natural and not calculated or it will not work.
If you want more information I suggest you go directly to Cortot and Rachmaninoff and listen to their recordings and analyze the way they do things.