Okay, this is going to sound like a crazy theory, but just bear with me. We have seen in a sneak peek that Zelena will be defeated tonight. Then what? We know there is a time travel spell all set to go. What if Rumple goes back in time, disguises himself as Neal, and sacrifices himself to revive himself, thereby making it so that Neal somehow survived? Rumple was complaining about having too many voices in his head, and I think having a future version of yourself as well as the current version of yourself could cause insanity.
I didn't think this was possible before, but that was before Snow killed Charming to cast the Dark Curse and then split her heart in half so that they could both survive. Also, if someone can survive with someone else's heart, why doesn't everybody do that?