Firmware update of newer STM32s could be done over USB too - you don't need separate UART for this. Just wire BOOT pin (pins) to GPIO(s) from EOMA to allow entering firmware update mode (DFU over USB).
64pin seems an overkill - there a lot of other package options, e.g. 48pin QFN, not to mention the BGA variants. Also, F103 is quite old one, probably the price might be good, but I would recommend some of newer ones (Cortex-M0 even) - look at F0, F2, F3 series. A good option could be this: STM32F071CB, the price goes below $2.50 for 100pcs, and it seems to have all you need -
http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN7/PF259662
SiLabs "Precision 32" are also nice ones - very well balanced peripherals and packages (e.g. QFN40, SiM3U154), built in regulator from 5V (if needed). But the price is higher.