Hi,
In most countries, you're supposed to bill taxes to the customer based on his location. And to do that, you need to know his address.
So that's why almost all the online shops you see ask the address before the payment since it's impossible to bill the taxes after the customer entered his address if it is placed after the payment.
In Europe, it would actually be illegal to have the customer pay without knowing where he is from.
So that's why HikaShop works like that.
It would actually not be that complicated to have your shop work like you want. You can easily remove the address view from the checkout. And then, you could customize the downloads area to redirect the customer to a form made with a form extension if the address is missing in his user account, and have the invoice system base itself on that address to generate the invoice.
It would only require some basic development if you were doing it like that.
But I don't see us doing that in HikaShop by default since in most cases, it would actually be illegal.
Soe before doing such modifications, I would recommend that you check with your tax office whether you can do that or not.