My philosophy about housebreaking is that prevention is the best possible thing you can do. With Lucian (who is 12 weeks old and now pretty good on the no-accident front) we get up, take him out right away (he is not crated at night, but is in our bedroom). He is then fed and then back outside right after and one more time about 30 minutes after that. He's crated while we're gone and has never had an accident. Then once we are home for the afternoon he is taken out whenever: he plays for a good deal of time, has a long drink, chews on a toy (chewing stimulates the digestive tract), wakes up from a nap, or has another meal. His water is taken up at 6:30 or 7 (as long as we don't forget) and accidents are pretty much ignored (unless I catch him and can easily run the peeing monster outside). In my opinion, if he has an accident, it's because we're not watching him close enough. Tons of positive reinforcement when he does go in the right spot. It's to the point where he runs to the door to go out and won't go INSIDE if he has to do something! It's the constant reinforcement.
This is only my experience, but it's worked well with all the dogs who have been in my life and is the advice I give to my clients.