The best option for a long registration process is to make it shorter.
Presumably the reason for the long registration process is that there is lots of information you want to capture. What you ought to do is separate most of this information capture from the actual act of registering for an account.
Allow registering for an account with the absolute minimum of information: someone who wants to sign up for your site should be able to do this with no effort.
Then later, you can capture important, detailed information. You can guide the user directly to a longer form as soon as they register, but if they don't finish it then, they can always come back, and you can send gentle reminders to users who haven't completed everything.
Look at LinkedIn as a good example of this paradigm. A LinkedIn account isn't useful unless you enter quite a lot of information. Nevertheless, they let you register with only name and email address. Then, later on they encourage you to build up a detailed profile by adding more information.
For this to work, the detailed information actually has to be of some benefit to the user. However, that is true of any model: you aren't going to get good results if you ask for lots of information that has no clear benefit to them.