Shader instruction count shouldn’t directly be affecting performance necessarily as static branching should account for this at cook time and dynamic branching at runtime (for example), although we appreciate for a long time this has been the only metric most users are able to go off. Are you seeing particular performance degradations? Have you profiled with other tools such as renderdoc to A/B test the timing of single material draw and to see if instruction count is the root cause of this or if there may be other factors at play?
We are planning an overhaul of this entire system currently though, particularly we want much better metrics than instruction count as it doesn’t really give a whole picture, but unfortunately this is a few engine versions away.