Make fumet: Put all ingredients in a 6- to 8-qt. pot. Add about 6 cups water (enough so liquid is just below top of bones). Cover and bring to simmering over high heat, then reduce heat and simmer gently for 45 minutes. Pour through a fine strainer into a bowl and discard contents of strainer. Wipe pot clean, add fumet, and let cool. Chill, covered, until used, up to 1 day.
Meanwhile, make gefilte fish: In a food processor, pulse fish, onion, celery, and carrot until carrot pieces are about 1/8 in. In a large bowl, whisk eggs, sugar, salt, pepper, and oil to blend. Add fish mixture and stir well, then add 3/4 cup matzo meal and continue to stir until well blended. Chill, covered, until cold, about 1 hour.
Bring fumet to a gentle boil. Divide fish mixture into 16 equal portions and set on a baking sheet. Using wet hands or 2 soup spoons dipped in cool water, shape each portion of fish mixture into smooth balls or ovals and gently drop into fumet. When all are added, reduce heat to low and simmer until gefilte fish are somewhat springy to touch, about 45 minutes.
Transfer gefilte fish to a rimmed platter in a single layer, using a slotted spoon. Strain about 1/4 cup fumet on top, cool, then cover and chill until cold, at least 1 1/2 hours. Save remaining fumet for other uses.
Meanwhile, make applesauce: Put apples and carrots in a medium saucepan with 1 cup water. Cover and bring to a boil over high heat, then reduce heat and simmer until carrots are very tender when pierced, about 25 minutes. Purée mixture in a food processor until smooth. Season to taste with salt and pepper if you like. Let cool to room temperature, or chill.
Turn gefilte fish in the fumet on platter to moisten. Set a gefilte fish on each plate with a large spoonful of applesauce and a small spoonful of horseradish next to it. Scatter parsley on top.
*For sustainable fish choices, go to seafoodwatch.com. Find beet-colored horseradish in grocery stores' kosher foods section.