The change cannot be prevented, as there cannot be two VMs with the same mac address in the network, that's why vcenter is forcing a change in the second one.
What you refer to is an issue only in some versions of Windows 2008 R2, that can be fixed with a patch. Newer versions like 2012 and above are not affected:https://www.veeam.com/kb1570
for Linux, you can set the interface configuration to simply ignore the mac address, for example in CentOS 5-6 you can remove the HWADDR=<MAC-address> line from ifcfg files. If you look around in the forums there are many discussions and proposed solution to make it work even with mac changes.