You can design your ES bot in such a way that it would be easier to migrate to Dialogflow CX if you need to.
1 Use a flowchart
In fact, in my Dialogflow CX course, I start with the flowchart I created originally for my Decision Tree ES bot and used it to generate the CX bot. The flowchart actually made it much easier to generate the CX bot too.
I am building a tool which can automatically convert a Mindomo flowchart into a Dialogflow ES chatbot with the push of a button. You can follow its progress here.
2 Maximize the conversation layer
In other words, do as much of the work inside the Dialogflow console, and as little as possible in the webhook layer (read about the 4 layers of a Dialogflow ES bot). I also refer to this as the explicative approach.
In addition to being easy for non-programmers to understand what is happening inside their Dialogflow ES bots, this approach also makes the conversation state machine (which you need to design for all CX bots) much more explicit.
3 Write conversation test scripts
This feature is built in to CX, but isn’t available in ES. If you write some conversation test scripts, it gives you two benefits: a) your ES bot will be more robust, and b) you now have test scripts you can carry over to CX to verify if your entire bot got migrated properly.
I am building a tool to generate and run test scripts for your ES bot so you don’t end up breaking it while making your updates. You can follow its progress here.