Subdivision and solidify sharp corners
Have you tried using an angle-limited bevel modifier after the solidify?  You can tweak the angle as appropriate, but that ought to dynamically add more geometry exactly where you need it to convince the subsurface that you want more defined corners and edges.

It has the advantage that it's dynamic and doesn't care about the shape of your objects - but the disadvantage that it DOES care about the angles involved, and it will most certainly add more geometry to the mesh - but then, the manual method of adding loopcuts also does that.  You get to pick how and where though, which can help.

I had a play around and using the other limit modes on the bevel doesn't seem to help much, but if angle limited isn't working they are potential options also.