Nortons Ghost always worked for me - as long as drive is not in bad shape (it will ask to skip bad sector )
Just select Drive to Drive -you wont have to worry about your partition being too big it will copy data and make partition on new drive same size as the data
You will need to mark the drive as an active boot drive after though - in Disk management ( if a bootable drive)
Another gem is Acronis products
If the drive is in too bad shape , would copy files over with killcopy and ask to skip files on error or manually skip on error
Active@ boot- have some great tool which should work fine