Like others, the only time I have had problems with egg eating it was because one hen was laying eggs with weak shells and it was getting accidentally broken. All the other eggs in the nest were intact but soiled with broken egg. I assume all the eggs are being broken and eaten, not just the odd one. Have you considered something other than your hens is responsible. I have had problems with both jackdaws, crows and rats in the past breaking and eating eggs. We are coming to the time of year that creatures are raising young and demand for food to feed them makes them bolder and cheekier than they would normally be.
It is also important not to put human morals onto animals and I think suggesting they are cannibalistic for eating their eggs is a misuse of the term anyway. It may be that they need the extra protein themselves. Essential amino acids from animal proteins are important nutrients for omnivores and breeding time creates more of a need for the hens as well as the scavengers I have suggested may be responsible.
Even if you have seen them eating their eggs, it may be one of the scavengers I have mentioned breaking them open and then the hens are cleaning up.