So i was wondering if there is a more elegant way to achieve what i am talking about
There's no simple answer to this question.
I think, most game are planned with some major features in mind (a feature, which will require the support of the underlying engine), like flying entities or unique AI behavior. Then the game designer will try to design the game around this major features. If they desire some new feature, they often will try to use the available stuff first(you will be surprised, how much you can archive with a few fixed game features). Often you can get away with some compromise, instead of flying entites, you could use a long jump entity with an similar gameplay effect for example.
Eventually, but rather seldomly, some major feature will be added to let the designers create new behavior/effects. But, as you already said, adding a major feature is often really difficult and therefor embedded in a major game update, an addon or even the next release in a series.
I thought that maybe adding a Script engine to the game would work
A scripting engine is more of a designer tool then a major feature. A scripting engine will help your game designer to access the game features more easily and to prototype some game design more rapidly, therefor it is a very useful addition to a game (!). But it will not add new major features to the game, that is the difference. If your engine only supports moving entities on a 2d plane in a 3d environment, a scripting engine will not allow you suddently to have a free 3d roaming environment.