Make sure you are offering them crushed well-flaked oyster shell, available all the time in a free-choice dish. This will help make strong shells, which don't crack easily when laid, when stepped on, or when pecked by a curious beak. And put a golf ball or wood egg into each nestbox, which seems to help stop egg-pecking behavior. Otherwise, make sure your nestbox has deep enough bedding to cushion the egg as it is laid. Now & then some of my hens will use more force to eject an egg, so it hits the nest a little harder. It's good to have extra cushioning.
ETA: you didn't say what you've tried so far...
however, if you've already tried everything I suggested, then make sure they ALWAYS have very fresh, clean water to drink. I've read that, to stay alive, dehydrated hens will eat their own eggs to obtain moisture, if 1) they do not have enough water, or 2) their water isn't clean enough. I think this can be especially true if they are locked in a coop/run situation during the day. Hens that free-range can sip water from lots of different spots, including puddles that form on a leaf, etc. If they are in a run and their only source of water isn't clean and fresh, they MAY not be drinking enough.