We had to resort to closing our nest boxes at night for awhile too. We had some young pullets move in with 3 older girls, and the older ones would peck them when they got up on the roost. I think the younger ones just liked the boxes too. So we would put cardboard over the boxes, but not until about 15 minutes before they would go to roost, and then once everyone was settled down we took the cardboard out. We only had to do this for about 3-4 weeks before they figured it out; we don't do it anymore.
The only eggs I've found on the floor under the roost is from the occasional new layer, and the ones with no/soft shell. For some reason those always seem to be produced during the night.