Before attempting to create a new user I see if that user already exists and update the existing user if found. the get_user_by(field,value) function returns the user object so if the user exists use their id to update meta fields or if not create a new one.
$email = 'test@test.test';
$address = array(
'first_name' => 'Tester',
'last_name' => 'Test',
'company' => 'Testing, LLC',
'email' => $email,
'phone' => '777-777-777-777',
'address_1' => '310 S. Main Street',
'address_2' => '',
'city' => 'Las Vegas',
'state' => 'NV',
'postcode' => '89000',
'country' => 'US'
);
$default_password = wp_generate_password();
$user = get_user_by('login', $email);
if (!$user = $user->ID) $user = wp_create_user( $email, $default_password, $email );
update_user_meta( $user, "billing_first_name", $address['first_name'] );
update_user_meta( $user, "billing_last_name", $address['last_name']);
update_user_meta( $user, "billing_company", $address['company'] );
update_user_meta( $user, "billing_email", $address['email'] );
update_user_meta( $user, "billing_address_1", $address['address_1']);
update_user_meta( $user, "billing_address_2", $address['address_2'] );
update_user_meta( $user, "billing_city", $address['city']);
update_user_meta( $user, "billing_postcode", $address['postcode'] );
update_user_meta( $user, "billing_country", 'US');
update_user_meta( $user, "billing_state", $address['state'] );
update_user_meta( $user, "billing_phone", $address['phone'] );
update_user_meta( $user, "shipping_first_name", $address['first_name'] );
update_user_meta( $user, "shipping_last_name", $address['last_name']);
update_user_meta( $user, "shipping_company", $address['company'] );
update_user_meta( $user, "shipping_address_1", $address['address_1']);
update_user_meta( $user, "shipping_address_2", $address['address_2'] );
update_user_meta( $user, "shipping_city", $address['city']);
update_user_meta( $user, "shipping_postcode", $address['postcode'] );
update_user_meta( $user, "shipping_country", 'US');
update_user_meta( $user, "shipping_state", $address['state'] );