When a player starts to cast an ability with a cast bar you are rewarded for interrupting them if you bash inside the cast time of the bar. Since cast time abilities lack sufficiently distinctive telegraphs to be able to discern what you are in fact interrupting, and so without certainty, the best course of action is to bash. If the ability is immune to bash you will not be sure the first time bash fails as lag, poor performance and other events will make you attempt to bash several more times wasting your stamina because your skilled counter-play was punished by one ability having immunity to a global game mechanic. That is what I call really sloppy and lazy design. I get it with the templar ultimate as it has such a obvious telegraph but honestly it should be the only ability that has immunity, or simply all player-cast-time abilities should be immune to bash, so there is no deceptive telegraph.
If you are going to make each ability have different special properties to global game mechanics like bash, you need much better telegraphs for anything that is immune to bash like a giant icon that say bash immune.
When a player decides to use an ability with a cast time they are taking a gamble, and they should have to make the appropriate positioning decision prior to taking that risk. You have decided that shields are not supposed to be reactive defensive tools but preparatory defensive tools so keep it that way. If you want them to be reactive than make a sensible choice like reducing the cast time to 0 and changing the duration to 2-3 seconds or 1 second after first damage to the shield effectively making them a magicka dodge, rather than a preparatory defense, then you can cut the cost and whatever else you need to do to put it in line.
“Whatever.”
-Unknown American