So,
I've used the code I placed on my question and added this too on my functions.php file:
function action_woocommerce_after_checkout_billing_form( $wccs_custom_checkout_field_pro ) {
if (is_user_logged_in()){
$customer_id = get_current_user_id();
$address = get_user_meta( $customer_id, 'billing_address_1', true );
if (!empty($address)){
echo '<style>.woocommerce-billing-fields__field-wrapper {display: none;}</style>';
echo '<div class="checkoutaddress">
<a href="#" class="edit">'. __( 'Edit', 'woocommerce' ).'</a>
<h3>'. __( 'Billing address', 'woocommerce' ) .'</h3>
<address>'.
get_user_meta( $customer_id, 'billing_first_name', true ).' '.
get_user_meta( $customer_id, 'billing_last_name', true ) .'<br>'.
get_user_meta( $customer_id, 'billing_phone', true ).'<br>'.
$address.'<br>'.
get_user_meta( $customer_id, 'billing_postcode', true ).' '.
get_user_meta( $customer_id, 'billing_city', true ).'<br>'.
get_user_meta( $customer_id, 'billing_state', true )
.'</address>
</div>';
}
}
};
add_action( 'woocommerce_after_checkout_billing_form', 'action_woocommerce_after_checkout_billing_form', 10, 1 );
It will check if the user is logged (otherwise shows fields) and after that check, checks if the billing address is filled (otherwise shows fields too)
Hope this helps someone. It's not a great solution but it works!