This isn't as useful now that IR is a first class citizen, but the Broadlink integration has a pretty solid training routine built in. I have all the IR devices in my house integrated using RM Mini3's.
I ended up writing my own Harmony replacement using the AppDaemon add-on a few years ago, so I could have the same sort of activity state machine that the Harmony Hub provided.