The Mill CPU has an interesting approach to false sharing [0]- cache lines keep track of which bytes are valid for their core, so one core could be using one part of the line while another uses a different part, and they wouldn't try to communicate until/unless they actually tried to use the same bytes.
[0] http://millcomputing.com/docs/memory/