Desert tiles are problematic, but it's rare to have nothing but 21 tiles of desert; there's usually some productive tiles that can be used, and a desert city can often be surprisingly useful. Here's a look at Sparta in my Alexander ALC game--an example of a desert city that turned out OK:
That's from early on. As I recall, it later became my HE city.
And here's Corinth from the same game, with 2 peaks, 4 deserts, and 2 desert hills, but it wound up being my GP farm:
Neither city qualified as my best HE or GP city EVAR, of course, but both were perfectly serviceable and contributed handily to a conquest win in that game.
Another tip: if you have a choice, try to place your city on the least productive tile. A desert tile contributes nothing, but place a city on it and it provides 2F 1H 1C (Sparta, above, is an example). Similarly, try to place cities on plains rather than grassland tiles if possible.
Finally, try to plan out irrigation paths. You won't be able to chain irrigate until Civil Service, but it helps if you've figured out the path ahead of time. Remember that a city tile (provided its on flat terrain, not a hill) automatically chain irrigates to any tiles around it, provided it has direct or indirect access to water itself. So this may mean that some of your cities end up on flat tiles rather than hills, for example. It also saves you worker turns by avoiding having to farm over cottages during the mid-game.