Can I hook up an external GPS to Android devices without a built-in GPS?
I believe Bluetooth is the only way to do this.

In order to be able to do this via USB the device would need to support USB-OTG (basically be capable of acting as a USB host); given that you are excluding Bluetooth, I doubt there would be a device with USB-OTG but without Bluetooth. You'd obviously need a GPS capable of sending data over USB, as well.