Proper approach to two different address data sets on the system I have a certain design problem here. The web site I'm working on will need to have 2 sets of address details


under user account, as an indication of user's business address
at the commerce checkout, as billing address


For commerce checkout I've been using built-in customer billing profile and it works ok. But I'd like to maintain a similar format for user address. The plan is to populate the billing address form during checkout with user's business address by deafult but also allow to modify billing address without changing business one

At the moment I'm concerned that I'm mixing different structures too much. I have billing profile for commerce, profile2 for users but also couple of custom fields created under Account Settings. What approach would you suggest to setup the user account fields so it's clean, easily referrable to each other and not confusing?
I'd just use Commerce Addressbook, it would allow you to have a set of addresses in your user account, from project page:


  Commerce Addressbook is a module that allows authenticated customers
  to reuse previously entered addresses during checkout. They can manage
  all entered addresses in their user panel (user/%user/addressbook).


Seems exactly what you're looking for and is way less complicated that dealing with the addresses and defaults yourself.