Herons are a terrible menace to fish. But I did a little reading, and found out that herons are territorial birds, so if you install a fake heron, heron statue, or I have a little metal cut-out heron near the pond, another heron flying by will not come to your pond because it is already occupied.
My heron story is sad, and expensive! When we moved in here, our pond had six beautiful butterfly Orandas. They are the fat, short fish with the bubbly heads, very ungainly and slow swimming. The resident fish were all fairly big, 4in. to 6in. and had been 'trained' by the previous owner to eat floating fish food. So whenever anyone walked by the pond, they would come to the surface and ask for food.
I faithfully (in my ignorance) fed them once a day for about 8 months. Then one day I looked out the window and a beautiful white heron was out there strutting around the pond "lunching" on those stupid fish. I rushed out but they were all gone. The heron may have been there before, and I just didn't notice him until he had eaten everybody.
Anyway, I finally did my research, found out that herons are territorial, and re-stocked the pond with 29cent goldfish from Petsmart. (after I discovered that the big Orandas we'd had were $30 each!) I have never again fed any fish, they eat algae and insects in the pond very happily. Those goldfish are now 5in or so long, and very healthy. Also wary! Of the 10 fish I originally bought, there are still 8 in the pond, and they have occasionally bred some new babies, too.
Once in a while, I find a capsized plant pot in the pond which indicates that the local raccoons know it's there but have not been successful at fishing. Thankfully, there's been no damage or carnage.