Although crude, here's a different approach:
I think the fundamental thing to wrap your head around, if you haven't already, is that automation can be in either the high or low priority thread: for example, when you're drawing it, it's low priority, and while Live is playing it back it's high priority. There are other scenarios as well, to add to the complication.
Someone could say I'm wrong, but I believe the Live API is fundamentally low priority. If you want really smooth automation, like the audio-rate stuff you get with [live.remote~], but using Max objects, you're going to have to deal with timing issues. I'd expect these to be simplified by the Cycling folks as time goes on though...