TL;DR making it easier to get the "right" behavior for VFX in fog of war is something we'd like to do, but it hasn't risen to the top of the list.
"it's basically a feature at this point"
This is one of the challenging things about making changes in a system like this. Reworking the way VFX decide whether they're visible to people is on the list of things that engineering would love to do. It's certainly not intuitive for designers to get it to behave the way they want. But to take just one example, there are a lot of opinions both within Riot and among players about whether or not Nunu ult should be visible to enemies if he's in brush. Setting up ambushes with R is a significant part of the fun and skill expression of the champion, but it can also feel really cheap to be blasted by an ult you couldn't see. So if I were to write code that magically made every case easy to set up and completely intuitive, there are still a bunch of design decisions about what the intended behavior is.
From a technical point of view, one of the things that makes it more complicated than you might expect to "just make it work" is that the game server (which needs to decide whether you can see a VFX) doesn't actually know anything about the way particles work. So it can't tell how big a VFX is to "guess" whether it's visible. Thus there are values that need to be tuned in scripts to say "how big is this particle".
As the rest of the engine becomes more intuitive and better written, this issue continues to rise towards the top of our priorities. I bet at some point it'll reach the point that we give it a solid attempt.