I have cured a couple hens of that bad behavior using a couple methods, but it is time consuming. First get oyster shell out there and available to them, you have to clean out the dispensers every once in a while, they dont like the dust, they want pieces. Secondly, collect the eggs regularly, so they are not tempted, and third and best part, leave behind some booby trapped eggs. Since chickens cant taste capsicum, and I have seen them eat some pretty rotten things, it is not taste you are looking for. That being said, I use a compination of spicy horseradish mustard floating in tobasco sauce.
Blow out a couple eggs, and fill them with this awful stuff, and tape them back up and leave in the nest for a few days in a row, or until you dont see the eggs being eaten any more. Who ever is eating them, will get a really upset stomach, and usually within a couple days, they stop eating the eggs.
Now, I know every one is going to freak on this next sentence, but I am going to say it anyways. I give my hens eggs almost every day. (I dont have any egg eaters either) If I find an egg that I dont know how old it is, or one of the banty eggs, which I cant sell, and I get too many off, I toss them way up into the air, and when they land, all the girls come running! All the pieces disappear, and they gobble them up. I make sure they break when they hit the ground, but I have noticed, that if they dont, a hen or two will pick, then they all walk away. This fact reassures me that I am not creating egg eaters. Now, that being said, I am taking a chance, and if you are not comfortable with it, simply dont do it, I am only telling you this info, so you dont worry that one or two broken eggs eaten will turn every one cannabalistic!
I think they are smarter than we give them credit for. (sometimes)
As to a rooster breaking them open, that would be unusual here, I have found my roosters cleaning out nest boxes after the hen and chicks have moved out, but they are kicking everything out, not eating it, more like they are trying to get it ready for the next tenant! It takes a lot of effort to peck open an egg, its not a casual thing, unless the shells are soft. And Oyster shell and getting a bit older usually fixes that.
Good Luck!