The closest I've used is partimage. I mount a CIFS share, save to the shared location. That said I've still had issues when switching drive brands with cylinder counts and such.
If partimage fails and DD over netcat fails then I'm more or less stuck. Usually one or the other works.
I have managed to salvage some failed clones using testdisk from a bootable RIP (rescue-is-possible) linux disc, or using testdisk and BartPE to run chkdsk (or fixmbr/fixboot from a recovery console). There comes a point where I put in enough time with getting clones to work that it's just not worth it, though, and throw in the towel and reinstall from scratch on some really iffy systems or drives that are too dissimilar.
Other than that your best bet is to bite the bullet and pay for acronis or ghost.
I'd add that DD can be an option; if the clusters aren't used and you feed the image through gzip or 7zip you should get extremely good compression due to the "unused clusters" unless they have noise from deleted items put into them. I still manage to get decent compression though. Often that is what these open source programs are doing anyway, feeding and splitting the image through gzip or bzip.
Cloning windows doesn't matter though if you're cloning at the sector level. It's filesystem agnostic when done that way (ntfsclone, of course, requires NTFS to clone...that's what gparted uses when copying a partition from one disk to another and it's NTFS-based).
You could also spend the bucks to get a hard disk duplicator. Probably would be a wee bit faster.