Roughly 2,500 events per day are missing the required field editingSessionId, which causes the events to be thrown out. I don't see an obvious pattern in which actions exhibit this problem.
There does seem to be a useful pattern: "integration": "discussiontools" was present on every event I checked. I suspect that this means there's a path to a VisualEditorFeatureUse event firing before the first EditAttemptStep init event, which is normally what would generate the sessionid.
I should note that I couldn't actually reproduce triggering a VisualEditorFeatureUse event which didn't have a session id, so this being the cause is largely speculation. Still, absent some really weird case I think this should fix any possible route to such an event being generated.