Using a single 'var' statement per scope

Using a single 'var' statement per scope

I'm wondering if there are some arguments against following this rule.
There are many places in the code where it is ignored.
I've also seen a trick to save another few bites where indexOf is
involved by using the ~ operator:
replacing tests such as
if ( str.indexOf(".") >= 0 )
by
if ( !~str.indexOf(".") )
and tests such as
if ( str.indexOf(".") === -1 )
by
if ( ~str.indexOf(".") )
Any contraindication for the 'single var rule' and the 'tilde trick'?
Any other way to reduce a javascript file size?
Thank you in advance,
-- Louis-Rémi
--