In the last year I've bred a lot of guppies (not doing it lately, it's a lot of work) and what I do is use a breeding tank. You can get one very cheaply (under $10 ) that floats in the tank. Here's an example:
Inside there is a V shaped tray that the fry (the babies) drop through to keep them from being eaten by the mother (and other fish).
Here is what it looks like in action:
So what you do, is put the pregnant fish in there either at the first sign of the fry (it can take hours to finish) and then when she's finished you take her out, and remove the divider. Keep the fry in the breeding tank till they are too big to be eaten by the adults.