I came up with this idea in a dream...
Suppose you could add an option in a hitdef, similar to sending the opponent to a custom state, but instead of the opponent being put in that state, the statedef is executed every tick just like another negative state.
For example, suppose I had a state like this
[state 999, damage]
type = lifeadd
trigger1 = 1
value = -1
[state 999, end]
type = removeEffect
trigger1 = time = 200
trigger2 = movehit
Note that I invented "removeEffect" for the purpose of removing the status effect.
In this instance time would return the amount of time the status effect had been active.
Attributes for the statedef should be omitted, and treated as errors if present.