If you sysprep generalize the machine before you swap the board it'll work afterwards. It's like moaning that your brain transplant resulted in you not being able to move your arms or something similar.
The analogy is unsound, you can do this with any Linux/BSD/Solaris system just fine. It's Windows who requires a more complex procedure here.
So yes, it's user's fault, but the point is that in this particular instance Linux is more user friendly compared to Windows. The user needs more knowledge and expertise to do the same operation with a Windows machine compared to a Linux machine.
If you take the disks out of a Dell and stuff them in an HP machine with the same chipset, Linux gives you no guarantee the Ethernet ports will be the same order on startup.
It's just different and you see the differences as misfeatures.
When I complain about Windows, I'm expected to complain about things that are still present in the latest version of windows (8.1 currently), not things that are no longer an issue since XP. In return, I expect you to do the same when complaining about Linux.
This is a solved problem and systemd is coming to debian as well.