My theory is that the Celestial Dragons were about to take orphans as new slaves to Mary Geoise. A 1 year old Shanks and Buggy were part of them. Shanks’ mother died prior to this and his father was the captain of a pirate crew, so they thought he was an orphan, too.
Rocks D. Xebec found out about this and attacked them (It may even have been a trap by the World Government to defeat him).
The fight happens, Roger joins Garp to defeat Rocks (I can’t figure out, why he is there, but we roll with it) and they beat Rocks. With his dying breaths he begs Roger not to let the Celestial Dragons get his son, with the words “A child doesn’t bear the sins of his parents”, which Roger uses years later to convince Garp.
Oda made it clear on multiple occasions that Luffy is the heir of Gol D. Roger’s will, while Ace being his real son went a different path and didn’t even want to be a captain later on.
The same can be applied to Shanks and Blackbeard. Blackbeard is the heir of Rocks D. Xebec’s will and Shanks the real son of Rocks is keeping the balance in the world, although his father was the personified Chaos.
The fight between these two has been foreshadowed during Marineford, when Blackbeard said that he is not yet ready to face Shanks.
I think the battle between the heir of Rocks’ will and the son of Rocks will lead to the final act of One Piece, because it gives Luffy the reason to attack Blackbeard.
*Theory by Football_Pirates