Rewrite your add-on's code. You can find more resources and support in the Mozilla wiki. From Firefox 51 onwards, you can embed a WebExtension in a bootstrapped extension or an SDK add-on, and can thus port a legacy add-on a piece at a time, and have a working add-on at each step. See Embedded WebExtensions.

When you're ready to update your old add-on, submit the new add-on to AMO as an update to the old one. That is, you can switch a legacy add-on to use WebExtensions, and keep the same add-on ID.

Note that this is a one-way conversion: you cannot update a WebExtension to use a legacy technology. This means that you must be sure that you are ready to commit to WebExtensions before you submit the updated add-on to AMO.