To prepare the turkey, preheat the oven to 325 degrees F.
Rinse the turkey under cold running water and pat dry with paper towels. Tear the bread into small pieces and place in a large bowl. Add the parsley, onions, celery, sage, thyme, celery salt, and pepper and mix well. Stir in the butter.
Lightly fill the cavity of the turkey with some of the stuffing (a general rule of thumb is 1/2 cup stuffing per each pound of turkey). Butter a covered baking dish large enough to hold the remaining stuffing loosely and set aside.
Tuck the wings under and tie the legs together. Brush all over with additional butter and sprinkle with salt, pepper, celery salt, and paprika, as desired.
Place the bird in a large roasting pan, and pour enough chicken stock into the bottom to reach 1/4 inch up the sides of the pan (add more to replenish while roasting, if necessary). Roast for 12 to 15 minutes per pound or until it reaches an internal temperature of 165 degrees F on a meat thermometer in the leg-thigh joint. Baste with the butter and juices every 30 minutes, for the first 1 1/2 hours.
Prepare the sauerkraut while the turkey is roasting. Combine the sauerkraut in a large saucepan with the sugar, vinegar, caraway seeds, and 2 cups water. Bring to a boil over high heat, stirring often. Reduce the heat to low and cover. Simmer, stirring occasionally, until the sauerkraut has absorbed some of the liquid and is very dark, about 1 to 1 1/2 hours.
Melt the butter in a small skillet over medium heat. Add the onions and cook, stirring, until softened, about 5 minutes.
Remove the cover from the sauerkraut and increase the heat to high. Bring to a boil and cook until most of the liquid has evaporated. Remove from the heat and add the onions. Return the cover and set aside until ready to serve.
About 1/2 hour before the turkey is done, spoon out a small amount of the turkey drippings and spoon over the stuffing in the baking dish. Cover the dish and bake while the turkey finishes cooking.
Transfer the turkey to a cutting surface or large serving platter and cover loosely with foil. Let rest for 30 minutes before carving. Gently reheat the sauerkraut, stirring to mix in the onions, over low heat until warmed through, 3 to 5 minutes. Serve hot with the turkey and stuffing and pan gravy, if desired.