Start the soup base. Pour the roasted chicken stock into a large stockpot. Add the chicken bones and the cut-up chicken. Bring to a boil.
Skim. Reduce heat to low. Using a slotted spoon, skim off any foam that rises to the surface.
Add aromatics. Add onions, parsnips carrots, celery, parsley stems, peppercorns, bay leaves and salt. Partially cover the pot, leaving the lid slightly ajar so steam can escape.
Simmer. Simmer gently for 2 hours.
Strain. Strain the soup through a cheesecloth-lined strainer into a clean pot. Reserve the cooked carrots to serve in the finished soup.
Shred the chicken. When the chicken is cool enough to handle, remove the skin and bones from the breasts and thighs and shred the meat into bite-sized pieces. Discard the bones, skin, and remaining vegetables.
Chill overnight. Refrigerate the reserved carrots and shredded chicken in a covered container. Let the strained soup cool slightly, then cover and refrigerate overnight.
Remove the fat. The next day, lift off the hardened fat from the top. Save it for the matzoh balls.
Finish and serve. Bring the soup to a boil, then reduce to a gentle simmer. Add the reserved carrots and chicken, plus cooked matzoh balls, and simmer for about 5 minutes to warm through. Season with additional salt and pepper to taste. Garnish with fresh parsley and/or dill.