This is a big part of why I have a strong aversion to shortcodes. I hate the idea of crucial dynamic content being at the mercy of a parser - it just doesn't feel very robust at all.

They can certainly enable a lot of functionality for users without any development skill, but from my end of the court - making one-off client sites to spec - I've always greatly preferred baking the functionality directly into the template files and only exposing the necessary content bits to the editor. Decisions, not options!