Billing address missing for recurring orders
Some workaround:
  // For unknown reason recurring orders are not getting billing profiles.
  // This method is checking of order has billing profile and if not
  // it finds it's initial order over subscription and copies it's
  // billing profile.
  public static function addMissingBillingAddress (Order $order)
  {
    if ($order-&gt;getBillingProfile() == null) {
      $subscriptions = self::collectSubscriptions($order);
      $subscription = array_shift($subscriptions);
      $initialOrder = $subscription-&gt;getInitialOrder();
      $billingProfile = $initialOrder-&gt;getBillingProfile();
      $order-&gt;setBillingProfile($billingProfile);
      $order-&gt;save();
      return;
    }
  }

  public static function collectSubscriptions($order) {
    $subscriptions = [];
    foreach ($order-&gt;getItems() as $order_item) {
      if ($order_item-&gt;get('subscription')-&gt;isEmpty()) {
        // A recurring order item without a subscription ID is malformed.
        continue;
      }
      /** @var \Drupal\commerce_recurring\Entity\SubscriptionInterface $subscription */
      $subscription = $order_item-&gt;get('subscription')-&gt;entity;
      // Guard against deleted subscription entities.
      if ($subscription) {
        $subscriptions[$subscription-&gt;id()] = $subscription;
      }
    }
    return $subscriptions;
  }

When I'm processing recurring order I'm checking if billing address is missing and if it does I'm collecting one from initial order (over subscription) and injecting that one.
Of course, I would like to know why it's not added at first place.