Grazie jk4nik, a questo punto direi che l'unica soluzione è usare, come scrivi tu, uno di quei componenti OnePage Checkout.
Ho visto però che ce ne sono un paio che hanno già incorporata l'opzione "login/registrati", quindi a quel punto il gioco sarebbe fatto, senza modificare niente.
Il fatto è che sono componenti a pagamento e l'idea di pagare per risolvere un problema grave, che si riferisce ad una funzionalità che dovrebbe essere scontata, non mi piace particolarmente.
Ma non intravedo al momento altre soluzioni all'orizzonte.