HubSpot original source is sometimes incorrectly attributed to SSO provider

Well you could possibly get around that, but before that I’d probably try to determine if it is worth it or not. I mean, blockers will block so it’s sort of an arms race there and one could argue, if people want their privacy or to block cookies, that’s their perogotive and should be respected.

One thing you could test is to see if passing in the page URI with utm parameters in the form submission changes the source of the contact. If it does, you could store the real source when the visitor initially lands on your site. It would need to be stored in a session cookie (client side) or a session variable (server side). Later when the user submits the form, if they don’t have a HubSpot cookie you could append utm parameters on the page URI with what you know about their initial page view.
All untested, but I feel like it could work. Again, if that is worth it is up to you. If it’s a small-ish subset of users, and the above method works, you could also tag them with some other campaign/utm/etc so you could at least segment them all to some group and they don’t skew your real direct traffic. Your trends would all still be good, just exact numbers off, and trends are generally more important anyway.