Right. I feel like a better approach would be just events with a smoothing interval (eg. number of samples). Even if you don't bother implementing the exact intervals, you can use the host provided value to guide your heuristics and most importantly it allows for the differentiation between "smooth" and "jump." Even if you use such a scheme to implement full "list of linear segments" it is usually easier to deal with a single list of events as opposed to a bunch of separate arrays for different parameters.
I should probably add that if the host generates an event for every 32 or 64 or whatever samples, then the actual nature of smoothing doesn't usually make a whole lot of difference either, but it is useful to explicitly know when the next event should be expected if the automation is supposed to be continuous.