Bring the turkey to room temperature 1 hour before roasting. Place a rack in the lowest position of the oven and remove the other racks; preheat to 350. Remove the neck and giblets from the turkey; discard the liver and reserve the neck and the rest of the giblets. Dry the turkey inside and out with paper towels and season the cavity with salt and pepper. Halve 1 head garlic crosswise and stuff into the cavity along with 3 onion wedges, the apples and 1/2 bunch sage.
Place the remaining 3 onion wedges, the fennel and carrot in the center of a large roasting pan with 1 cup water. Set a rack above the vegetables and place the turkey breast-side up on the rack. Season all over with salt and pepper. Chop 3 tablespoons sage, then melt 3 sticks butter with the sage and salt and pepper to taste in a saucepan over medium heat. Fill a meat syringe with the sage butter and inject it into the breasts, legs and thighs; continue until you have used about half of the sage butter. Brush the bird with the rest of the butter and tie the legs together with twine.
Roast the turkey, uncovered, about 1 hour 30 minutes. Rotate the pan and continue roasting until a thermometer inserted into the thigh registers 165, 1 hour 30 minutes to 1 hour 45 minutes. Turn off the oven but leave the turkey inside until the thermometer registers 170, 15 to 20 more minutes.
While the turkey roasts, make the gravy: Melt the remaining 1 stick butter in a saucepan over medium heat. Add the reserved neck and giblets, season with salt and pepper and cook, stirring occasionally, until brown, about 10 minutes. Peel and smash the remaining head of garlic, add it to the pan and cook until golden, about 2 minutes. Add the broth and bay leaves, cover and simmer over medium-low heat, about 2 hours. Discard the bay leaves, neck and giblets.
Transfer the turkey to a cutting board and let rest 20 to 30 minutes before carving. Transfer the vegetables to a blender. Pour the drippings into a liquid measuring cup and skim off the fat. Add 1 cup drippings and the flour to the blender and puree until smooth. Whisk the remaining drippings and pureed vegetables into the broth mixture. Bring to a boil, then simmer until the gravy is smooth, about 10 minutes. Stir in the balsamic vinegar; season with salt and pepper.
Transfer the turkey to a platter and garnish with any remaining sage. Carve the turkey and serve with the gravy.