Is it possible to disable the automatic shader variable renaming on import?

Is it possible to disable the automatic shader variable renaming on import in Unity 5.4 mentioned here? We work on different projects with third parties who use different versions of Unity; some are on 5.4 while others need to stick to 5.3. For some of those projects we would like to use the same shader source but the automatic renaming is preventing that.

I tried using the UNITY_VERSION macro to conditionally define matrices but the automatic renaming seems to use a global replace that ignores preprocessor logic.

This is the code we tried:

#if UNITY_VERSION >= 540
	#define OBJECT_TO_WORLD unity_ObjectToWorld
#else
	#define OBJECT_TO_WORLD _Object2World
#endif

However, on import _Object2World in the #else block is renamed to unity_ObjectToWorld, rendering the check useless.

From 5.4 onwards you can do this using the UNITY_SHADER_NO_UPGRADE token.

From the 5.4 release notes

Shaders: Added ability to exclude
shaders from automatic upgrade by
having “UNITY_SHADER_NO_UPGRADE”
anywhere in shader source file.