You can't. Even apps that install downloaded apps to the SD card first download to internal storage. (Downloading and installing to D: on a Windows PC is the same thing - the file is downloaded to C, then moved to D.)
Free up some storage and try to keep it as free as you can. But ... when you move an app to the SD card, it gets moved in little pieces - and each piece needs a link to it left in internal storage. (That's just how Android works.) So eventually you're going to run out of space.
One possible solution. Back up all your apps to the SD card using
App Backup & Restore. Uninstall enough apps to have some free space. Now when you need an uninstalled app, uninstall one you're not using and restore the one you need from the SD card backup. (You can use
Helium to back up an app's data if you need that, like game scores, etc.)