I second the brining suggestions. In an unseasoned chicken, there is a very small window between when the chicken reaches a safe temperature and when the proteins contract so as to squeeze the juices out. Usually, at least part of the breast gets dry before the rest of the chicken gets to a safe temperature.
Brining (which includes dry rubs containing salt that stay on longer than six hours) serves to unwind those proteins a bit, so they are less effective at squeezing the juice out. This buys a bit of time for that window between “done” and “over-done”. It also results in meat that is more evenly seasoned throughout. (Caveat: the salt and sugar go in, but many spice flavors, being “oily” in their chemical make-up, do not.)
I’ve also had good luck with butterflying and pulling the legs up to protect the narrow part of the breast from the heat.
Be sure to the chicken set long enough for the juices to re-distribute before slicing. If you cut into it too soon after taking it out of the oven, the juices that would have gone back into the breast will wind up on your cutting board.
One caveat: As the salt sits in the meat, more and more of those proteins unwind. As you wait longer and longer, the meat will get a softer and softer texture. If you find the texture of the chicken is too soft and ham-like for you, don’t brine quite so far in advance.
Also, if you find brines leave the chicken tasting too salty, switch to a brine that uses both sugar and salt. The chicken’s flavor will be more balanced.
Finally, if you are grilling or baking a boneless chicken breast, take the time to pound the breast out a bit, so that the difference between the thickest and thinnest sections isn’t so great. When baking, I also tuck that skinny little bit under a thicker section, so the thickness of the whole piece is as close to even as possible.