I use an ISY for my insteon stuff and I have a working nodeserver integrating Hubitat devices with ISY. I just received an Insteon Hub to start poking to see if there's a clean route to integrate it. Most likely the cleanest is using the existing external server solutions which actually make a lot of sense really. Using the external system like an rPi to handle the middle man translation and "heavy lifting" of the integration and then having a lightweight websocket client app running on Hubitat to receive the events and send back the basic on/off/fon/foff etc to me makes a lot of sense.
Using one or multiple rPi's or even full servers to offload/process integrations and then have a very thin layer interface between the controller and the processing system. Very efficient and completely distributes the computing (cpu, memory, disk io, network io) off/away from the controller (hub) system. This is the methodology that "Professional" systems utilize. It offloads the processing and adds an isolated layer between the primary controller and any "plugins/apps" which adds a very nice layer of protection preventing a bad app from taking down the entire system. Even Home Assistant has taken up this model with HASSIO utilizing docker and the HASS ADDONS each being their own container. It provides an isolation layer... but with HASS it's still all on the same rPi so it does nothing for distributing the workload.