i have never seen a fisherman "miss" a fishing attempt. I think he just knows where the fish are and if there are no fish in range the player will get the message. Until then the fisherman is always successful on his fishing trips.
But I don't know if the fisherman always goes to catch the "nearest fish" or if it is random.
An idea to make the productivity percentage meaningful would be as follows:
1. The fisherman always goes to catch the nearest fish.
2. If the traveling distance is short then the productivity is close to or exactly 100% if the fisherman
has to travel further to catch fish then the productivity-% drops.
This way the player can know how much fish is left in the working area and when it will be time to build a new fishery elsewhere. Also he can better guess how much fish is produced per minute or per production cycle or whatever measure is best used.
So for example if the player has to rely on fisheries for food supply he can check the percentages and decide if he has to build additional fisheries to keep up the needed production output.
I think this can be easily achieved by writing an AI for fishermen so they can calculate shortest path to nearest fish, if this hasn't already been done.
Then the %-drop per time unit has to be adjusted to get realistic estimation.
I could do some testing with fishermen and traveling distance and maybe create a formula to calculate the average productivity.