Hi! From my own experience there is a trade-off between simplicity and features.
As simple example what you could do is to make a node that reads the current costume via getCostume(), and then act according to what you get.
As long as you have a node like this on
every map it works fine.
But note that setting +1 speed via script is not possible in any older version. In my OSE releases there is a function that allows this, but it's still some fiddling to get it working properly.
A great deal of things are hardcoded in the game and are impossible to achieve via scripting; I've lifted those limitations somewhat but this is of course not official.
For example the jelly costume healing or the crab costume damage reduction are all hardcoded and can neither be changed, nor used for custom costumes (game checks for getCostume() == "jelly").
I thought about the same, and to get everything working as I imagined, I have resorted to completely re-implementing all forms and costumes in plain Lua. If you're not a coder this is definitely not recommended, but it gives a great deal of flexibility. As I said, there's a trade-off, depending on what you want

If you have further questions, ask away! Most modding activity is on IRC (#bitblot), so for quick questions this is the best place to ask.