Cel shading style for hard edges?

I am making a game consisting mostly of hard edges, yet I still want to try a cel-shaded style.

The problem is that when you move the camera or whatever decides the direction the cel-shading is facing it changes too drastically and is very noticeable. I have tried messing around with various methods but I lack any notable knowledge of material making to have any idea of what to do.

My idea is having a similar hard contrast layered split between different shades of the original colour but instead of having them be based on the vertex normal, rather face the camera at fixed distances, so that whether the object has round or hard edges makes no difference to the shading.

Does anyone have any idea how to do something like that? Any suggestions are more than welcome.