Not a very scientific answer will, but i found the same
a few years ago...couldnt seem to beat 16.5 mph average over 40 miles say.
What i did was to start mixing things up a bit...
(I'm speaking for myself here), instead of going hard right from the word go...do the first 5 miles steadily, say 1 mph under your normal speed. It makes precious little difference overall, but you find you can sustain better speed in the latter part of the ride. Its probably the proper way to do it anyway, lets your muscles warm and loosen up, instead of getting tied up.
I also started honking up hills and the take it steady when i topped them, just until i got my breath back. (my hills are more short stabs, say i minute out of the saddle, with longer (or proper hills) this may not be possible.)
During that year i started mixing things up, i was nearly topping 18 mph average....shame i cant be bothered to push myself that much anymore