The channel is immediately downstream of my bubble trap so there are always a few bubbles that get through. The channel is about 24 inches long. I just watch the bubbles as they move down the channel and try to determine the fast and slow layers of the flow. I then simply stopwatch a variety of bubbles and average.
For a more accurate measure, I need to make something to homogenize the flow at the front end.
Because of the non-homogeneous flow, I considered my initial measurement a bit of a hack, which is partly why I was so surprised to see it roughly agree with the head loss calculator.
I am now working on a top-off add-on to the sump and interfacing it all to a protein skimmer so I haven't had the time to get a better measurement. I could get so much more done if I didn't have to work for a living.