Maybe you could create the invisible helper "on the fly"?!
I just took a look at your code. I think one option would be, to make the horizontaly moving platforms "unique", ie. the code should be able to tell, that the grabbed on plattform is moving. Then you could use the changing X value of the plattform to be added to the players X as long as the player is holding on to the plattform.