I grilled up some sockeye salmon this weekend and I wanted to share my method that keeps the fish from sticking. I also have a spice blend that's pretty darn good too which I will post at the end.
First, the fish. Don't try this with fillets that have a fine flake texture like flounder, sea bass or mullet - they cook too fast and will fall apart. Same goes for any fish fillets less than 3/4" thick. Excellent choices are medium textured fish with larger flakes like salmon, striper, drum, cobia and grouper. Of course tuna and swordfish work because of their steak-like texture, but this method is really for those many fish species that fall between flounder and tuna. Medium textured fish have a little more flavor and can stand up to and really take well to the high heat and smokiness of the grill, but you need to treat them differently to keep them from getting stuck.
Second, skin on. It holds the fish together when it's time to flip it. And only flip it once!
Third, clean the grates well. They don't have to shine like new, but make sure all of the carbon has been removed. If the grates are rough or pitted, forget it until you get new grates. Always start a charcoal fire with the grates off or the intense heat and flame will remove the chrome and then the grates rust which ruins them. I heat the grates over high heat to burn off everything possible and then I scrub well with a ball of foil held with a long pair of tongs until the grates are smooth and clean. Use a corner of the foil to get between the grates too.
Fourth, a two zone fire. Half the burners on and the other half off. Or charcoal pushed to one half side of the grill. Medium high temp is what looking for, so if you hold your hand 5 inches above the grate for 5 seconds before having to pull away, you're there.
Fifth, rinse, dry then paint. Rinse the fillets and dry with paper towels. Then rest them flesh side down on more dry paper towels while you find the mayo, a spoon and a brush. Flip the fillets over and spoon a little mayo onto the flesh side, then spread it around with a brush to cover the flesh completely. If you don't like mayo, don't worry, you can't taste it after cooking. Sprinkle on your seasoning. Don't do the skin side yet.
Grill. Wipe an oiled paper towel over the hot grates and lay the fillets directly over the fire, flesh side down. Spoon and spread more mayo on the skin side now and season. 3/4" fillets take about 4 minutes on the first side. Keep the lid open. Starting with the thinnest fillet, try nudging it with a spatula, if it slides, flip it, if it doesn't, try the next one. Repeat until all are flipped. The second side only takes 2 to 3 minutes more. If it nudges, move it to the cool side and repeat until all of the fillets are done.
That's about it. If the fish sticks, you either didn't get the grates clean enough or the grates need to be replaced because of pitting.
My go-to grilled fish seasoning is pretty simple. 1 tablespoon of Old Bay, 1 tablespoon of dark brown sugar and 1/2 teaspoon each of onion powder, garlic powder and gound cumin. It has a little heat to it so don't overdo it. This is enough for about 4-5lbs of fish.