Removing Carriage returns after a blank address field?
Try to use  as below which does the job 

&lt;div&gt;{contact.addressee}&lt;/div&gt;
&lt;div&gt;{contact.street_address}&lt;/div&gt;
&lt;div&gt;{contact.supplemental_address_1}&lt;/div&gt;
&lt;div&gt;{contact.supplemental_address_2}&lt;/div&gt;
&lt;div&gt;​{contact.city}&lt;/div&gt;
&lt;div&gt;{contact.postal_code}&lt;/div&gt;


OR 

I am not sure about replacing the in-build token using IF statement 

But you can create an Address block token on your own where you can remove blank lines - and you can use address block token in the PDF

http://wiki.civicrm.org/confluence/display/CRMDOC/Customized+%28and+Custom%29+Tokens

I guess this help - if you need more details please let me know - thanks