myVectorPlot[x__]:= VectorPlot[x] /. Arrow[{p_, q_}]:>Arrow[{p + (q - p)/2, q + (q - p)/2}]; Manipulate[ { sample = Table[ {x - (x*Cos[θ] - y*Sin[θ]), y - (x*Sin[θ] + y*Cos[θ])}, {x, -Pi, Pi, 1}, {y, -Pi, Pi, 1} ]; scale = Max[Map[Norm, sample, {2}]]; myVectorPlot[{-x + (x*Cos[θ] - y*Sin[θ]), -y + (x*Sin[θ] + y*Cos[θ])}, {x, -Pi, Pi}, {y, -Pi, Pi}, Axes -> True, ImageSize -> Large, VectorScale -> {0.1*scale + 0.001, 0.2}, Frame -> False, PlotRange -> {-4, 4}]}, {{θ, 0}, 0, Pi/2} ]

Edit - What I was after:
With[ {xi = -π, xf = π, yi = -π, yf = π, xmin = -3 π, xmax = 3 π, ymin = -3 π, ymax = 3 π, vpoints = 6}, Manipulate[ Module[ {fx, fy, n}, fx[x_, y_, θ_] := (x Cos[θ] - y Sin[θ]) - x; fy[x_, y_, θ_] := (x Sin[θ] + y Cos[θ]) - y; n = Sqrt[((xmax - xmin) (ymax - ymin))/((xf - xi) (yf - yi))]; vp := VectorPlot[ { fx[x, y, θ], fy[x, y, θ] }, {x, xi, xf}, {y, yi, yf}, Axes -> True, ImageSize -> Large, VectorScale -> {n Norm[{fx[xf, yf, θ], fy[xf, yf, θ]}]/Norm[{xmax - xmin, ymax - ymin}], Scaled[0.1], Automatic}, VectorStyle -> {Black, Directive[Dashed, Blue], Directive[Dashed, Red]}, VectorPoints -> vpoints, PlotRange -> {{xmin, xmax}, {ymin, ymax}} ] /. Arrow[x_] :> Translate[Arrow[x], Mean[x] - First[x]]]; components := Graphics[ { {Blue, Arrow[{{0, 0}, xc = {x Cos[θ], x Sin[θ]}}]}, {Red, Translate[Arrow[{{0, 0}, {-y Sin[θ], y Cos[θ]}}], xc]}, Inset[ Style[{"x Cos(θ)", "x Sin(θ)"} // MatrixForm, Blue], {7, 8}], Inset[ Style[{"-y Sin(θ)", "y Cos(θ)"} // MatrixForm, Red], {7, 6.5}], Inset[Style[{"x Cos(θ) - y Sin(θ)", "x Sin(θ) + y Cos(θ)"} // MatrixForm, Black], {7, 5}] } ]; Show[vp, components], {{θ, 0.314}, -π, π}, {{x, xf}, xi, xf, (xf - xi)/(vpoints - 1)}, {{y, yf}, yi, yf, (yf - yi)/(vpoints - 1)}] ]

