I have a retail version of a Seagate 500GB drive. The CD that came with it had their Disk Wizard software among others. With it, under the Maintenance tools used to partition and format a new drive, one option it offers is that it can copy absolutely everything from an existing boot drive to the new drive and prepare the new one to be installed as the replacement boot drive. Then you just mount it in the drive bay and swap cables. Works like a charm! Does not matter what size the new drive is - it does NOT need to match the old one at all.
One limit to note: if the Disk Wizard software is run from the CD and it does not know details of the OS you are using, it will assume you do NOT have support for LBA48 large disks, and will only establish a partition up to 137 GB. BUT, for example, I installed the Disk Wizard software on my system with Win XP (including SP2) that does allow for LBA48. Run from within Windows, Disk Wizard recognized that capability and allowed me to set up one single huge partition up to 500 GB on the new drive, then copy and prepare as above.
So, if you can get Seagate's software for free from their website, it could do the job you want.