Of course there are still holes, because following the story of OoT, Link goes back 3 times in total (Lens of Truth, Spirit Temple, and Zelda sending him back). In theory this would create 4 timelines, so I offer a hypothesis that might explain it a bit.
When you originally get the Song of Storms, the windmill guy claims that Link had already played the song at the windmill in the past. This would indicate that the timeline DID NOT SPLIT when Link went back the first time for the Lens of Truth. Link learned the song, and went back in time to play it "again" (though it was technically the first chronological playing of the song in the windmill). Apart from the windmill guy's account, there is other evidence that Link had "already" claimed the Lens from underneath the well: namely, it was already drained.
My hypothesis is: Link going back JUST FOR THE LENS OF TRUTH (or any other meaningless thing, for that matter, that any player may have done outside the main story) did not significantly alter the past enough to create an alternate timeline. He didn't alter anyone's life/death or anything of any serious consequence, and thus it remained the same continuous timeline. NO SPLIT. However, when he returned as a child to the Spirit Temple after having learned the Requiem of Spirit from Zelda/Shiek, he removed himself from the original timeline. Not every sage was awakened (because Link never saw Nabooru) and Ganon[dorf] was victorious.
Link goes back 7 years to meet Nabooru, and thus set events into motion at the Spirit Temple (creating the first split), setting loose Twinrova, and going back to the future to set Nabooru free and have the full team of Sages with which he defeats Ganon[dorf] and Zelda sends him back to his childhood, splitting the timeline for the second and final time.