I was thinking about this and my hypothetical solution is this:
Have a kernel mode driver read the whole drive's partitions and dump the raw data (compressed to an image) to another removable bootable disk. Then on the other system the bootstrap code would read the partitions' attributes and data and then place them where they would possibly belong on the target machine, along all other files.
Example, Before
Computer A
-------------
3 Partitions
2 Bootable *
Computer B
--------------
Empty disk
After
Computer A
---------------
3 Partitions
2 Bootable *
Computer B
---------------
3 Partitions
2 Bootable *
*
Can be any OS
Implications / Cons
Differences in architecture and processing bits could impale the OS. This sums up all the differences that would arise as it would be the greatest impaling factor.
Difference is disk size
I'd also love to see a plug 'n' play device manufactured to achieve this.