I asked a related question over at Unix and Linux.SE. Basically, for Linux the dummy kernel module will create a dummy network interface that you can then set the mac address of
ip l set dev dummy0 name eth0
ip link set dev eth0 address xx:xx:xx:xx:xx:xx
where xx:xx:xx:xx:xx:xx is the registered mac address/host id of the machine. I don't think that this violates the license agreement, although it is best to check.
I don't know the best way to make this persistent across reboots, but it shouldn't be too hard.
It might also be possible to simply rename one of the consistently named devices to eth0. This would eliminate the need for the dummy device and I believe the naming would still be consistent since you are always renaming the same device.
I have also been told that a udev rule can be used to revert back to ethX type naming. For machines that only have eth0 and/or wlan0 there is no advantage of consistent device naming since there is only one device. This means the udev rule does not hurt anything.