Move data from 1 hard drive to the other
I think most disk imaging utilities will do what you are looking to achieve. Try Partition Magic or Macrium Reflect. In fact I know for sure that Partition Magic will automatically estimate the needed and resize the space as needed based on the original hard disk (and its partition) and the destination disk.