“As an alternative to cookies, then, we opted to hash the user’s IP address and their User-Agent string”.
So if a user is on a mobile device and switches networks, 50/50 they will receive a consistent version?
Did you consider using Geo based filtering? Iirc Cloudfront has support for geo restrictions, so you could create multiple distributions and restrict one to a geo for rollout.