Due to hardware restrictions the Pi Zero is unable to boot directly from USB – now allowed for the Pi3 using beta code. However, using just a small file on the smallest SD card you can find it is possible to do 99% of the booting/OS work on a far more reliable USB stick or SSD/HD.
The procedure I use is as follows.
a) Install Rasbian Stretch and set up your Pi Zero exactly just how you want it to be, including any LCD screen setup invocations in boot/config.txt. Don’t forget your wifi settings etc too.
b) Shutdown the Pi and remove the SD card. Image it onto a PC file using DiskImager as if you were making a backup
c) Locate a small capacity SD card. (Smaller normally means more reliable), and download the file bootcode.bin from GitHub – insert this SD card into your Pi Zero. Thats correct only one small pre-boot file does the redirection.
d) Taking the Pi image you previously saved onto your PC, use DiskImager again to burn this file onto your USB Stick, or SSD/HD.
e) The next step requires a partition manager that can handle Linux format partitions. I use GParted. Making sure you are working on the Pi partitions resize the non-boot kernel/home partition to nearly fill the whole USB – I leave about 100Mb unallocated just to ensure that when I subsequently reimge the USB for backups that those backups will actually fit on a new USB. Probably unnecessary but I do it for insurance!
f) Insert the USB stick into the Pi I actually use a USB hub for this purpose as I need ports for the keyboard etc (wifi, bT for older Zeroes)
Enjoy a more reliable Pi Zero!