The best ways to offer protection to fish in my opinion are;
a. Make the pond deep enough- not only so the fish can hibernate without problems during the winter, but also because deeper ponds keep fish safer from predators. Over here in England, because of our cold winters, it is advised that you have a pond that is at least 3ft deep for goldfish, or 4ft deep for koi- but i expect canada gets a lot colder than over here in england, so the may may need to be deeper (the deeper the pond, the more insulated it is from the cold). When confronted by a predator, fish will instinctively head for the deepest area's in the pond where they are harder to be caught.
b. Have pond plants in the pond like lillies which help offer the fish cover/protection, also having a bridge or some planks of wood going over the pond can help a great deal too, since the fish will instinctively head for area's in the pond that have cover when the fish notice predators.
c. Make sure the pond doesn't have any really shallow parts- although shallow ponds are great for wildlife (because shallow waters warm up quicker, they are great for bugs and insects and creatures like frogs and newts etc), predators like herons can't access ponds whose sides are very steep or very well planted.
d. Put some netting over the pond- this will protect it from predators like cats if you are worried about them.