data2 = DateObject[{#[[1]], #[[3]], #[[2]]}] & /@ data;
values = #["ISOYearDay"] - DateObject[{#["Year"], 4, 1}]["ISOYearDay"] & /@ data2;
labels = DateString[#, {"Month", "/", "Day"}] & /@ data2;
DateListPlot[values -> labels, {data[[1, 1]]},
Mesh -> Full, ImageSize -> Large, FrameTicks -> {{None, None}, {Automatic, Automatic}}]

Update: Add vertical ticks from April 1st to May 31st:
DateListPlot[values, {data[[1, 1]]}, Mesh -> Full, ImageSize -> Large,
FrameTicks -> {{Transpose[{values, labels}], None}, {Automatic, Automatic}}]

To get less cluttered vertical ticks use custom ticks:
ClearAll[vTicks]
vTicks[nt_: 10] := Module[{vf = #["ISOYearDay"] -
DateObject[{#["Year"], 4, 1}]["ISOYearDay"] &[DateObject@#] &,
from = AbsoluteTime@{2000, 4, 1}, to = AbsoluteTime@{2000, 5, 31}},
MapAt[vf, #, {All, 1}] & @ Select[from <= #[[1]] <= to &][
System`DateListPlotDump`DateTicks[ {from, to}, nt, {"Month", "/", "Day"}]]];
DateListPlot[values, {data[[1, 1]]}, Mesh -> Full, ImageSize -> Large,
FrameTicks -> {{vTicks[], None}, {Automatic, Automatic}},
GridLines -> {None, vTicks[10][[All, 1]]}]

Update 2: Loss off horizontal minor ticks mention in OP's update is likely to be version/os related.
Both in version 11.3.0 (Windows 10 /64 bit) and in version 12.0 (Wolfram Cloud) we do see the minor ticks in the date axis:
randomvalues = RandomInteger[{1, 61}, 201];
DateListPlot[randomvalues, {1900},
FrameTicks -> {{vTicks[], Automatic}, {Automatic, Automatic}}]

Update 3: Custom ticks with major ticks every 50 years and minor ticks every 5 years:
dTicks = Join[{AbsoluteTime[{#}], ToString@#, {.02, 0}} & /@ Range[1900, 2100, 50],
{AbsoluteTime[{#}], "", {.01, 0}} & /@ Range[1900, 2100, 5]];
SeedRandom[1]
randomvalues = RandomInteger[{1, 61}, 201];
DateListPlot[randomvalues, {1900}, ImageSize -> Large, Mesh -> All,
FrameTicks -> {{vTicks[], Thread[{vTicks[][[All, 1]], ""}]}, {dTicks, Automatic}},
GridLines -> {None, vTicks[][[All, 1]]}]
