i actually heard a pretty decent theory about all of this. its a theory as to why there is no split in the timeline, although i definitely believe in a split, but this still is a solid theory.
the theory i heard said that everything in OoT was basically predetermined and no matter what Link did in the past, it would lead to Ganondorfs eventual overtake of the kingdom which actually makes sense. if they couldnt stop him when he tried to get in the Temple of Time then how could they stop him before he does? he obviously was powerful enough to overtake them on his own so how do we know that after link goes back after defeating him that they can stop him?
anyway that second part was just for fun to post. here is the theory about the song. basically it says that no matter what you do when you go back in time, you cant change the future. it was set in stone that link was to learn the song of storms, regardless of who composed it, which means that someway or another he has to learn the song. the guru guru teaches it to you but only after you teach it to him in the past which fulfills the predetermined prophecy.
think of it like in the episode of futurama where Fry goes back in time, kills his supposed grandfather only to find out that later on when he has relations with his grandmother, he becomes his own grandfather. it basically is saying that he already exists so no matter what he does when he goes back in time, he is going to exist. his grandfather was killed so his family HAD to be born somehow so fate made him his own grandfather.
if anyone is interested, the thread with this theory is at ZU and it uses the same futurama connection in a better way.