About 6 hours before you plan to serve dinner, unwrap the turkey and discard the neck, bag of giblets and any excess fat from its cavity. Pat the turkey dry with paper towels. Place the turkey on a rack in a large roasting pan and let stand at room temperature for 2 hours.
About 3 hours before you plan to serve dinner, position an oven rack in the lower third of the oven and preheat to 300 degrees. Discard any liquid at the bottom of the roasting pan, then wash and dry the rack and pan. Season the main cavity of the bird with salt and pepper; stuff with the onion pieces and 7 parsley sprigs. Squeeze the lemon all over the skin, then stuff the lemon halves inside the cavity. using kitchen twine, tie the legs together at their ends. Tuck the wings behind the back of the turkey if desired. Place the turkey, breast side up, in the roasting pan. Pour 1 cup chicken broth into the bottom of the pan.
In a small saucepan, melt the butter over medium-low heat, then remove from the heat. Finely chop the leaves from the remaining 3 parsley sprigs. Stir into the butter. using a pastry brush, brush the turkey with the butter. Place the turkey in the oven and roast for 45 minutes. Brush with more butter and roast for an additional 45 minutes. Raise the oven temperature to 350 degrees. Brush the turkey with more butter and continue to roast for about 30 minutes more, until an instant-read thermometer registers 155 degrees when inserted into the thickest part of the thigh without touching the bone. Transfer the turkey to a carving board with a moat and cover loosely with foil. let the turkey rest for 30 minutes before carving to allow the juices to redistribute.
While the turkey is roasting, in a small serving bowl, stir together the cranberry sauce and grapefruit zest. Set aside at room temperature.
When the turkey is done roasting, make the gravy. Pour the pan juices into a large glass measuring cup, then skim the fat. Pour the juices back into the pan. Place over 2 burners over medium heat and stir in the remaining 2 1/2 cups chicken broth. using a wooden spoon, scrape up the browned bits from the bottom of the pan. Increase the heat and bring to a boil. Sprinkle with 2 tbsp. flour; stir until dissolved. Simmer until the gravy is thickened, about 5 minutes, adding an additional 1 tbsp. flour if necessary; season with salt and pepper. Transfer to a warmed gravy boat or small pitcher. Rewarm in the microwave before serving.
Carve the turkey. Arrange the meat on a serving platter and serve immediately with the gravy and cranberry sauce.