We've all had our issues with certain breeds, mixes, or bad habits from chickens. Here's the little bits of advice I'd give, since you asked:
1) for the size of your coop/run, don't have more than 6 hens.
2) get all the same breed - pick your favorite - chickens are prejudiced!
3) train them on what you want them to do. When they're big enough to roost, put them on the roost when it's dark, and they won't move again. No light, keep it dark at night. After a week or two of this hands-on training, they should do it themselves.
4) When they start talking about laying, before they actually do start, go out and pick them up and place them in the nest boxes. Hold the body down firmly for a few seconds, let up. They'll leave, but at least you showed them where to lay.
5) teach them to come when you call - I go outside and yell, "PEEP!" They come running, no exception. Shake a can with scratch, and they'll come too.
6) Just like children, when bad habits are noticed, nip it in the bud. YOU decide what you want, and how to get it.
Of course, this kind of training is not possible if you have wild chickens! If however, they're hand raised, and used to you handling them, it works great.