Add new user via Commerce or Add User account
You can add all necessary profile fields to user register form, and disallow checkout to anonymous users. This way every time new user proceeds to checkout' they are redirected to register form where they fill in the info and then proceed with checkout as usual. 

A good helper module for this is Commerce Checkout Redirect 


  This module redirects anonymous users to a page where they can login or create a new account when they try to checkout.