A lot of the fault for the slow and boring racing comes from the route design. When you draw up a race where attacking like crazy, being extra good in the TTs and being in great shape the first two weeks might get you a one minute gap... and then you have 4(!) stages in the last week when you can gain or lose a minute in a span of 5km... then something is wrong. Everyone knows that any time that might be gained in the first two weeks can be lost in one single climb in week three. So they decided that it is wiser to save energy for stages when the differences will be huge. Smart decision but unfortunatelly it leads to boring racing. They are doing what they think is the best way to win on a route that was presented to them.
Yes, my issue is that a team that has the fire power (Ineos, JV) should at least test the other guys in one of the stages. But they decided against it. I am assuming JVs tactic changed as soon Remco and Tao were out of the race. Because I think they believe Roglič will wipe the floor with everyone when the real climbs start. Then there are the other teams, but I think they (except perhaps Ineos) would already be satisfied with a podium. So they all believe in their strenghts.
So, basically. Don't put 4 hardest stages in a GT in the last week. Simple as that. Plus, as soon as Remco was out the TTs were basically irelevant since the main three guys are very much equal. This route might have worked if you had two guys who can TT (Roglič, Thomas) vs GC contenders who cannot (Mas, O'Connor, Gaudu, Landa, Hindley to an extent, Carapaz). But since this year Tour has almost no TTs al those guys skipped the Giro so you are left just with guys who can TT. Which in turn makes all the TTing useless.