It is allowable by code to allow one feeder to serve multiple loads; consider a feeder to a panel. However that feeder has to have sufficient capacity to feed the calculated load.
As you've described things, the two units are non coincident loads, meaning that you never have both loads running at the same time. In this case you only include the larger of the two loads in your feeder calculation.
Additionally the AC feeder often has specific limits set by the design of the AC unit; you couldn't simply have a double capacity feeder for the two units, unless you add additional OCPD at each unit. In the ideal case for non-coincident loads, you would have a single feeder sized to properly run a single unit, and only one unit runs at a time.
The big question in my mind is the assumption that the two loads do not run at the same time. Is that a known fact or the desired operation.
For example, you might have unit A and unit B on a single thermostat, and the thermostat is designed to only trigger one or the other at a time. Clearly non-coincident, one feeder works for 2 units.
But what if for redundancy unit B is on its own thermostat, designed to cut on at a higher set point. In this case, unit A would be trying to run and unit B would come on. There are air conditioner failures where the compressor is running full tilt but you aren't getting cooling. In this alternative design both units might be running at the same time and your feeder would have to supply both. Now you end up with a cascading failure, where unit A stops cooling but loads the feeder, unit B starts cooling and adds additional load on the feeder, and then either the feeder breaker trips, or because of the normal oversizing of AC feeder breakers, the wire overloads.
IMHO a transfer switch such as described in post #2 is not required, but you must have some well defined interlock that prevents simultaneous operation of the two units.