So far there's not really a workaround as such, although I've been using small fleets of corvettes to fill in the gaps where trade protection isn't spreading correctly.
There's been a couple of possibly identified reasons for the ranges not working properly - one of which (and quite likely) is the algorithm for calculating distance to the system just counting lanes incorrectly (so a system that is all of 2, 3, and 4 lanes away might get counted as any one of the three options depending on how the search is calculated and when it quits the count); this was shown by one user who removed a couple of lanes from the map to eliminate triangles and had the game recalculate the trade protection correctly by the shortest route.
I've not really got a solution for trade collection though, other than prioritising putting trade hubs right on top of high value systems rather than trying to get the highest total trade into one system's (eventual) range.