The issue occurs while using latest ST3 build at this date: do you mean this will change, or should it already ignore empty files?
Actually I'm developing for both ST2 and ST3. For some reason, it seems worse in ST2, for if you load_settings() such an empty, custom settings file, calling get("some_key") obviously doesn't report a failure, but if the code then rely on this value to exist, you actually manipulate a TypeNone, resulting in unexpected TypeError errors (ST3 seems immune to this). One could check for this all along the code, but it's just easier catching the inconsistency at (settings') loading time.
I guess for now I'll just check for empty settings file before doing anything: I don't really want to use the common trick of writing bar = bool(sublime.load_settings('foo').get('bar', DEFAULT_VALUE_SAME_AS_JSON)) just because I need to ensure some akward empty settings may mess with the fetching of default values.