I see your point. Now that I’m thinking of it, that whole setup is way more complicated than it needs to be…
vector transform node. You can just use that to drive the object’s normal space with camera space. No need for empties and constraints.
Here I used the normal node to control the rim direction like you were wanting, but I’d personally use a mapping node and a gradient instead. That way you can animate it if need be.