Unless you have very sophisticated use-cases along with multiple household triggers (i.e., like doorbell/camera/TV use-case), I see little need for external rules controller. If you take a look at the ElkRP language, it’s fairly robust ladder logic language. With only 26% memory used, I believe typical setup HA for controlling lights, thermostat, fans, and locks is possible using Elk exclusively.
From my understanding, the ISY is only required because SmartHome did not invest in building a robust installation program similar to what is provided by UPB. UDI spent a ton of energy and money making Insteon easily consumable. UDI decided for economic reasons to add a controller/rules language. I suspect that once the ISY network is properly configured, the ISY rules language is not required.
Instead of thinking about Elk/ISY integration as a hack, understand every lighting technology requires a hardware installation/setup program.