If you have spare space on a partition for /boot, or if you have an actual swap partition, then this should be pretty easy.
Build a debinstaller image with the NetworkConsole feature enabled. Please the installer on the spare space on /boot partition, or create new filesystem on your swap partition and place it there. Adjust your boot loader too boot the installer. Connect to the installer session via ssh. Do the install, and make sure you properly setup networking and install an ssh server during the install.
You could also place a copy of SystemRescueCd or some other tools in that boot/swap partition, and configure the system too boot that instead. You may need to do some repartitioning. The Debian installer doesn't come with many tools for modifying existing partitions or filesystems.
Another method if you have a spare partition would be to use debbootstrap to install into that spare partition. The procedure is relatively easy, but I do suggest you try it in a local VM first.
All of these procedures are certainly possible. Whatever you do, I strongly suggest you setup a Fedora VM with partitions and a setup similar to what your remote system has, it doesn't have to be a full install, just a base install with a similar partitioning should be adequate. Then perform the upgrade on the VM through the network. I suggest you not try something like this on a remote machine the first time without having tested it a few times locally.