For improvement at the checkout page
User should be able to choose: order as guest or register. If he/she choose as guest, he/she have to enter his email and delivery address on each order. If registered, then only need to login with existing (registered) details. If registered, then can't order as guest any more using the email address which is alredy registered. check out like a guest(we will get an order confirmation letter, but not registration letter, and the can use their email to check out again next time.)
And also please create the function for customer to register directly at the checkout page. create the button to let the customer to choose username and password for creating the account(if they want). if the customer click "Save my information and create an account" this buttons would be shown. Other wise, It is hiden.