The principal idea
You can create lines with the following principle: I suppose that all the parallel lines are drawn in the same direction (top-down or down to top). Find the end-point of each line and connect it to the end-point of the following line. Take the middle of this line (centroid). This is the starting point of each middle line.
Now simply project this point to the bottom, using the length of your existing line and its azimuth (angle).
In this case, even with varying distances between the lines, you will get in each case a perfect middle line.
The implementation
You can use QGIS expressions for this. Use the "Geometry Generator" or the "Geometry by Expression", see here for details. In both cases, the expression remains the same. There are some additional elements to get the correct lines: lines should only be created for lines of the type row and not for the last row line:
if (
"type" = 'row' and
attribute (
get_feature_by_id (
@layer,
$id+1
),
'type'
) = 'row'
,
with_variable (
'centroid',
centroid (
make_line(
end_point (
$geometry
),
end_point (
geometry (
get_feature_by_id (
@layer,
$id+1
)
)
)
)
),
make_line (
@centroid,
project (
@centroid ,
-length (
$geometry
),
radians (
main_angle($geometry)
)
)
)
),
''
)
Screenshot: the black dotted lines are created with the expression from above and Geometry Generator, based on the red lines:

pyqgis-tag because no code was provided – Taras Apr 29 '21 at 06:16