I just discussed with my son, a Computer Science guy. While there may be ways to clone what you have (except for bad sectors, he advises this is not wise because you will not know which files have been corrupted and copied to the "clean" clone. So you can't find them and fix them. He advises a different route: in brief, do a fresh install of all your OS and app software, then use a data recovery utility to recover all your data files and copy them to the good HDD. Your post says your old HDD is "going bad", so I assume that means you can still boot from it but you get errors during use. This is not a quick solution, but it is sure to get you a good new HDD that works.
So the sequence is
1. Disconnect the old HDD - power and data cables. Connect the new HDD to the port that your old one used to be on.
2. Re-Install your OS from the CD. As the first step, tell it to Delete any Partition already on that HDD so it can start fresh with an empty unit.
3. Re-install all your application software.
4. Update the OS and the software. Now you have a perfectly-functioning computer.
5. Important decision time. Re-connect the old HDD (to a different port) and boot up. Can you see that old unit and access its files? It should show up as a new data storage device, and not as your boot C: drive. If you can access its files, copy all the data files you can to the new good HDD. You do NOT need any of the OS or software files. Do you think you got them all? If yes, skip to Step 8.
6. IF, however, you cannot access that old HDD, or if chunks or it are not accessible, find, download and install a Data Recovery utility. There are many around. Some are free. Some you pay for, but are well known. Some good ones may have free versions suitable for one-time use, of for recovering only a limited bunch of data. I have seen good reports for Get Data Back for NTFS, Recuva, Easeus, and some I can't remember. Look up what you can and see which appeals to you. What you're going to want is something that can search your old HDD and find all (or almost all) your data files.
7. Once you have a recovery utility installed, reconnect your old HDD (to a different port). Run the data recovery utility. It will find all it can on the drive you specify, but will NOT write anything to that unit. That way it can not be damaged further. Instead, it will want to COPY all the files it can to a destination drive you specify. So copy to your new good drive. And as you do, specify which files to copy - you only need data files that you have not yet recovered, and no OS or software files you already re-installed.
8. When done, disconnect and remove the old HDD. Store it for a while in case you decide you missed a file or two and want to try to find it again.
9. Eventually you will decide the old HDD has nothing you need. Now the decision to make is: was it actually going real bad and is unreliable junk, or did it only have a small glitch that can be fixed to allow you to re-use it for something?