
I think all your ideas presented here would work well. In fact, I know they would because I've implemented most of them in my own personal mod. We have about the same idea of what results we want to see, just different ways of getting there.
I'll share how I decided to implement my changes but it was an evolving process.

I moved armored trains into the artillery class a long time ago. It felt wrong that they couldn't provide supporting fire. But I also felt units like the Gustav were just too mobile, too easy to use and shouldn't be able to support adjacent units. When AKRebel came out with those nice siege artillery units, I didn't want them providing support fire either. So I took the armored train class (#18) that was now empty and renamed it, making it a siege artillery class. This class is hard-coded to suppress the enemy but won't provide supporting fire.
For units in my new siege artillery class, I provide a transport switch. For trains [Gustav, 28cm(E)], I switch it to the train class (#17) for movement and they have no active attack. The icon could be the same only with the gun lowered (which I haven't done yet). For guns, I switch to a land transport (#14) for movement and no active attack, using the biggest truck icon I can find. For smaller rail guns (17cm or less), I'm leaving them alone for now; no switch, can move and fire but no supporting fire.
Ok, I think I'll end this post for now. I will add some screenshots later that might explain my ideas it better.
But going back to your ideas, I think your last point was the most radical, and therefore the most interesting idea. I will have to consider it (and perhaps do some testing) but it seems you could use either class #18 or #9(strat) and get the same result. Though I'm not sure if the suppression rates are the same. Do you happen to know? Anyway, thanks for the discussion.