Answering my own question here, just for completeness and hoping this will help someone else:
Currently, the only way to achieve zero-downtime for a single-instance app deployment is to temporarily scale the application to more than 1 instances before the deployment begins and then scale it back after the deployment has finished. Note that your application has to then deal with the fact that there's a short time when there are more than one instances running.
Best solution for cases, where you absolutely need zero-downtime for you app is to code the application so, that you can run multiple instances at the same time. This might lead you to somehow coordinate between those instances, if they are doing something that only one instance at a time should be doing. If you cannot do this, then you just have to deal with the fact that during deployment, you application will be down for a short time.