1, Run your thumb along the top of the fish fillet to check for errant bones. If you find some, cut along each side of the line of bones, cutting as close to the bones as possible to avoid waste, and discard the thin strip containing them. Slice the fish into pieces about 2 inches long, 1 inch wide, and ⅛ inch thick, angling your knife if necessary to get the needed width.
2, To remove some of the harshness of the onion, put it in a bowl and add hot tap water to cover. Let sit for 5 minutes, then drain and rinse under cold water.
3, To make the marinade, in a bowl, combine the salt, sugar, oil, fish sauce, vinegar, ginger, and cilantro. Add the fish and onion and use your hand to mix gently. Set aside for 30 minutes at room temperature to allow the fish to absorb the other flavors and turn slightly opaque. The fish may be refrigerated for several hours, but it should sit at room temperature for 20 minutes before serving to take the chill off.
4, In a saucepan, bring the rice soup almost to a boil over medium heat, stirring occasionally to prevent scorching. Meanwhile, divide the fish among the soup bowls, leaving any liquid behind. Ladle the hot soup over the fish. Garnish with scallion and pepper before serving. Before eating, tell diners to stir the fish from the bottom to ensure that it cooks in the hot soup and the flavors are well mixed.