I saw this problem recently on the Wolfram Community website and answered it there. I'll copy my answer here (http://community.wolfram.com/groups/-/m/t/603973)
I'm not sure if there's a simple way to prevent the issue. I would do this by basically reconstructing the ListVectorPlot Function from VectorPlot. To make it easy, I'll just make an Interpolation of the x and y values for the vectors separately:
(* Here's some example data *)
data = {WeatherData[#, "Coordinates"],
First[
WeatherData[#,
"WindSpeed"]]*{-Sin[WeatherData[#, "WindDirection"]], -Cos[
WeatherData[#, "WindDirection"]]}} & /@ {"KSPI", "KORD",
"KMDW", "KCMI", "KBMI"};
(* Munging the data into a form acceptable by Interpolation *)
xvals = ReplaceAll[data, {position_, {xval_, yval_}} :> {position, xval}];
yvals = ReplaceAll[ data, {position_, {xval_, yval_}} :> {position, yval}];
(* Create Interpolations of the data *)
xfunc = Interpolation[xvals, InterpolationOrder -> 1];
yfunc = Interpolation[yvals, InterpolationOrder -> 1];
(* These interpolations can be used with VectorPlot *)
VectorPlot[{xfunc[x, y], yfunc[x, y]}, {x, 39, 42}, {y, -89, -87}]
You have to specify the range over which you want VectorPlot to plot. In this case, the range is a bit out of the bounds of the Interpolation, so there are some error messages. We can also get the actual Min/Max values in the dataset and use these.
{xmin, xmax} = MinMax@data[[All, 1, 1]];
{ymin, ymax} = MinMax@data[[All, 1, 2]];
VectorPlot[{xfunc[x, y], yfunc[x, y]}, {x, xmin, xmax}, {y, ymin, ymax}]