As far as I know there's only one reason not to rebase code that's been pushed.
My point was that pushing constantly as a backup mechanism isn't an option if you intend to rebase frequently (unless you're the only developer on the project).
I have a personal clone of whatever project I am working on, any branches that I publish can be changed at any time using a push -f.