Honestly, I do not know if my idea is any good; it was just what occurred to me at the moment!
That said, you are correct: my suggestion was to use a standard script instead of a scripted modifier plug-in. I have created several scripted modifiers, but none that affected the object's topology. I only used them to store additional parametric data (as you describe); I've found them easier to use (and update!) than custom attributes.
If you need to store additional data, you could possibly attach custom attributes to the Edit Mesh modifier, attributes that your script would use.