Main idea: Circle can be printed from a initial to a final angle, i.e. an arc can be printed. An arrow(head) can be attached at the end.
r = 1;
disp = 0.2;
Define a curved arrow object (an arc + an arrowhead):
curvedArrowObj[x_, y_, r_, disp_, \[Theta]i_, \[Theta]f_] :=
{
Circle[{x, y}, r + disp, {\[Theta]i, \[Theta]f}],
Arrow[{
{(r + disp) Cos[\[Theta]f - 6 Degree],
(r + disp) Sin[\[Theta]f - 6 Degree]},
{(r + disp) Cos[\[Theta]f + 6 Degree],
(r + disp) Sin[\[Theta]f + 6 Degree]}
}
]
}
Usage:
Graphics[{
Blue,
Circle[{0, 0}, r],
Red,
Arrowheads[Medium],
curvedArrowObj[0, 0, r, disp, \[Pi]/6, \[Pi]/3],
curvedArrowObj[0, 0, r, disp + 0.2, 120 Degree, 225 Degree],
Black,
Arrowheads[Large],
curvedArrowObj[0, 0, r, disp, 160 Degree, 190 Degree]
}
,
Frame -> True,
AspectRatio -> 1,
PlotRange -> {{-2, 2}, {-2, 2}}
]

EDIT1 Example for OP's particular case
Graphics[{
GeometricTransformation[
{
{
Thickness[0.0009],
FaceForm[],
Circle[{0, 0}, 1],
Red,
Arrowheads[Small],
curvedArrowObj[0, 0, 1, 0.2, 75 Degree, 105 Degree],
curvedArrowObj[0, 0, 1, 0.2, 255 Degree, 285 Degree]
}
},
{
TranslationTransform[{0, 0}],
TranslationTransform[{3, 0}],
TranslationTransform[{6, 0}]}
]
}
]

Arrow[BezierCurve[Take[CirclePoints[{0, 0}, {1.2, 1.3}, 180], 20]]]
(1.2
is radius,1.3
is rotation,180
and20
are for quality and length) $\endgroup$