My understanding the problem is that GLONASS is aware of leap seconds at all. It sends messages in UTC, which has this leap second funny business. GPS uses a special "GPS time" (sometimes abbreviated UT) that doesn't have a leap second. For further confusion, the leap second ensures that UTC is never more than 0.9 seconds off of mean solar time, aka UT1.

This type of assumption that was made early in a massive software and hardware project that's now been ossified for ~50 years is going to be hard to change.