The good old system "copy" command is still the fastest and easiest IMHO. Wayyyy faster than archiving everything to lha.
Just make similar partitions on new HD like you have on your old (you can still make them different sizes and do other tuning which will be better for new HD). Then open shell and copy every partition to new destination with line like this:
Copy oldpartition:#? newpartition: ALL CLONE QUIET
If you have some assigns etc pointing to partitions with certain names, you can change the names of new partitions back to old after you've removed the old HD for example. It can be done to both device and volume names if needed.