I use one of these two, whichever is better for a given case:
- install it using debootstrap from some live system (https://www.system-rescue.org/, or Debian on a usb stick). Internet works in this live system, so I can install wifi firmware and other required packages
- install it into a VM (I have a VM with prepared Debian system -- e.g. with my SSH keys, with my .bashrc and .vimrc), boot live system on the target machine, rsync the prepared system there
- install it using debootstrap from some live system (https://www.system-rescue.org/, or Debian on a usb stick). Internet works in this live system, so I can install wifi firmware and other required packages
- install it into a VM (I have a VM with prepared Debian system -- e.g. with my SSH keys, with my .bashrc and .vimrc), boot live system on the target machine, rsync the prepared system there