I think technically easiest solution is to modify the i18n.php files:
-$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function (
$cache, $code, &$cachedData ) {
+$GLOBALS['wgHooks']['LocalisationCacheRecache'][__FILE__] = function
( $cache, $code, &$cachedData ) {
This makes it so that if the file is included again, it will just
override the previous callback set in that file, instead of adding a
new one.
The downside of this approach is that someone needs to change this in
all the hundreds of extensions.
Modifying LC itself does not help users like you who are running older
versions of MediaWiki [1].
[1] The shims are only used in <= 1.22.
-Niklas