May be it already exists in Standard and i just did not know...
How about introducing DECLARE ALL (or IMPLICIT ALL) which will not change default first lettering types. You must just to declare all variables the way you do with IMPLICIT NONE.
DECLARE ALL will hunt you static undefined variable bugs at compile time the same way as IMPLICIT NONE but not at the price of losing implicit naming default
The IMPLICIT NONE by its name, sense and design was actually intended not for the static undefined bugs hunting but is basically used for this also purpose.