Comprobar condiciones de las que ya sabes el resultado. Ejemplo: comprobar que al convertir algo a string el resultado es el que nos interesa y posteriormente comprobar que ese algo no era null. Si hubiese sido null la conversión a string habría sido algo más problemática, ¿no?
if (!(Session["blabla"].ToString() == ""))
if (!(Session["blabla"] == null))
[...]
Hacer la comprobación en el orden inverso habría tenido un cierto sentido (aunque en este ejemplo concreto nunca iban a ser null). Un día de estos me voy a cortar las venas si sigo viendo estas cosas. ¿Y lo bonito que es el símbolo != que es más dificil de confundir? ¿Dónde ha quedado?