What about the opposite direction: create builds from the same source that use different memory layouts to make the life of attackers harder? I think diversity could create resilience, too. Obviously it makes verification harder.
edit: see compiler/compile-time randomization? see some other similar projects under these key terms.