The Player's Perception should be more important than Game Engine Definitions
There are lots of points in the game where things aren't the way they should theoretically be because of the way the game is set up. Riot has a bad tendency to let the game's spaghetti code and the way the game engine defines things get in the way of a logical and enjoyable player experience. Here are some examples:
Projectile Blocks How many times have you seen Wind Wall make something disappear and just thought to yourself "wait, that's really a projectile?"
Wind Wall and Unbreakable should only consider things that visually appear to be projectiles - an object in motion through the air - as projectiles. This means that anything that appears to go beneath the ground, or appears to be too high for Wind Wall to hit, shouldn't be blocked. Braum's ult, Evelynn's Q, and Malphite's Q? They come up from the ground, they should ignore projectile blocks. Soraka's Q? It's called fucking _Star_call. It comes down from the sky, and as such should completely ignore projectile blocks. The fact that these things don't already ignore projectile blocks is a huge clarity issue. Another problem is with abilities that appear to be multiple projectiles, like Talon's ult, or divisible projectiles, like Nami's ult. When these things hit a projectile block, only the sections that hit should disappear in theory, but in practice they are treated as one single massive projectile and wholly destroyed. This shouldn't be a thing.
Knockups vs Knockbacks The different kinds of displacements in the game need to all be treated differently by champion abilities. Yasuo's ult should only work on airborne targets, or knockups. But it can be used on knockbacks and pulls too, regardless of whether the ability logically makes the target "airborne". Yasuo's shouldn't be able to ult off of Thresh hooks, or Quinn's E - only targets that are visibly airborne. Once again, if a player can't see the ability and notice that they are in the air, then they shouldn't be targetable by Yasuo's ult.
750RP Skins and "Particles" At this point this probably all sounds like a bunch of Yasuo QQ, so lets move to something completely different: 750rp skins. 750 RP skins are the tier that gets model changes, but no particle changes. But really the idea of the "particle" is something the average player doesn't understand, and customers are left wondering why a 750RP Syndra skin like Queen of Diamonds doesn't get new Dark Spheres. To the average player, a Dark Sphere is equivalent to part of the model - to a Zyra plant or an Orianna ball. But Riot lets the technical, devolpment-side definition of "particle" get in the way of giving a 750rp Syndra skin new Dark Spheres - something many consider to be crucial to making a new Syndra Skin worth it.
Blinds, Blocks and Dodges One of the worst examples of Riot's spaghetti code is displayed in autoattack modifying abilities. In theory, blinds, blocks and dodges should block all damage and effects tied to autoattacks (and I say in theory, don't flood this thread with whether or not Quinn/Panth/Jax would be broken if that actually happened). But in practice, the only thing these effects reliably block is the base damage of autoattacks - actually, not even that, because modifiers like Poppy's Q can make even the base damage of an attack ignore Counterstrike. If you go to League's wiki, and look at various pages for information about different autoattack modifiers interactions with different autoattack blockers, you will receive tons of conflicting information and lots of "Pending for Test" notes. But the fact that you need to resort to the wiki is atrocious in and of itself - it should be intuitive to players.
What should be blocked by effects that block autoattacks? Autoattacks. No asterisks, no if ands or buts.