Cook onion in 2 tbsp. oil in a large saucepan over medium-high heat, stirring often, until soft, about 3 minutes. Add cabbage, cover, and cook over medium-low until it has wilted and released its liquid, about 15 minutes. Stir in 3/4 cup wine, cover, and cook, stirring occasionally, until cabbage is very tender to the bite, about 45 minutes. Stir in 1 tbsp. butter and the salt and pepper to taste.
Meanwhile, combine pomegranate juice, remaining 1 1/2 cups wine, the peppercorns, and star anise in a frying pan and boil until reduced to 1/2 cup. Strain into a bowl. Heat 1/2 cup butter in a small saucepan over medium-low heat until separated. Skim off foam and continue cooking butter until golden brown and nutty smelling, about 10 minutes. Whisk browned butter into pomegranate-wine reduction and add salt and pepper to taste. Keep warm. If sauce separates, whisk again.
Cover parsnips with water in a saucepan, cover pan, and simmer until very tender when pierced, about 25 minutes. Strain, saving cooking liquid. Combine parsnips with 1/2 cup butter in a food processor, and whirl, adding enough cooking liquid to make a smooth purée. Add salt and pepper to taste.
Preheat broiler. Melt remaining 1 1/2 to 2 tbsp. butter in a frying pan over medium-high heat. Add mushrooms; cook, stirring often, until golden brown and tender, 3 to 5 minutes. Add salt and pepper to taste and stir in parsley.
Lightly oil a broiling pan. Brush fish all over with about 1 tbsp. oil and sprinkle lightly with salt and pepper. Set, skin up, in pan. Broil 4 to 6 in. from heat until skin is crisp and fish is opaque but still moist-looking in the center, 6 to 10 minutes.
Spoon parsnip purée and cabbage side by side on plates. Set fish, skin side up, on top, and top with mushrooms. Spoon sauce around servings.