If you don't want to break compatibility you could try checking if ModuleClass extends the module prototype. This is ugly but it should work:

            if (ModuleClass && ModuleClass.prototype instanceof Marionette.Module) {
                customArgs.splice(0, 4);
            }
            else {
                customArgs.splice(0, 3);
            }