If you use an imagine application like Partition Magic, Drive Image or Ghost, the placement of the files will be exactly the same as they are on the current drive; those utilities basically copy the exact layout of the existing drive. If you use a tool that simply copies each file over, they'll all be defragmented but not necessarily in a good order, since the entire file gets copied at one time but you have no control over how it selects which file to copy after another.
If you're trying to prevent losing your data on a dying hard drive, worry about getting it copied, THEN worry about defragging. The only time that fragmentation might be an issue is if you were copying to a smaller drive/partition, since the application then has to relocate any files stored at the end of the current partition. As far as I know, most of them will do that, but it adds time to the transfer.
DiskKeeper is what Microsoft's built-in defragger is based on. It isn't the greatest in my opinion because it doesn't actually completely defrag the drive. I have no idea why they consider that acceptable, since most users expect to see a totally blank space, all free-space consolidated, but DiskKeeper leaves portions of files all over the drive. It may not make a huge difference to performance having such small bits everywhere, but that's not the only reason we defrag.
PerfectDisk does a complete defrag and consolidation, and it's just as fast as anything else. I used the trial version for awhile and decided to pay for it. (The trial version is completely uncrippled and usable for 30 days.)
Why would you make a copy of the drive, then copy it back to the original drive? All the data will still be on the first drive, so there's no need to "copy back", and if the drive is dying why would you want to?
If all you're wanting to do is copy data files and don't need an exact backup, then just drag and drop the files in Windows. If you want to be able to simply put a new drive in and copy an image and boot up and be running again, then something like Ghost is needed.