Why does it need to keep the IP? For incoming traffic it's better to rely on DNS names rather than on any particular IPs (e.g. managed in Route53 with Cloud Formation). Or if you have the IP whitelisted in some Security Groups you can use the Source SG instead of IP. Very rarely a service needs to retain its IP for genuine reasons.
Anyway one solution I have deployed in the past for a custom DNS stack (one of the few services that refer to IPs and not domain names) was creating a separate Elastic Network Interface (ENI) with the required IP address and pass that around as instances were starting and stopping in the AutoScaling Group. It was done through the EC2 instance start-up script where the instance would detach the interface from the old instance and attach it to itself, essentially stealing the ENI from the old instance in the ASG.
It was a dirty hack but it worked. However if at all possible design your deployment in such a way that it doesn't depend on any particular IPs. Or provide more details why it is needed.
Hope that helps :)