How to make unique horses from other mods compatible:
1. First, open or create a new horse actor in TES5Edit or the Creation Kit. The simplest method is to copy an existing horse actor and reuse one of the existing horse breeds for your horse, so choose one of the vanilla actor templates (EncHorseSaddledBlack, EncHorseSaddledBrown, etc.) as the template for your horse and tick the 'Use Traits' box in the 'Template Data' section. This step allows Immersive Horses to magically (BY THE POWER OF SKSE) retrieve the form name of the template from Immersive Horses.esp (Fell Pony, Haflinger Horse, etc.) and then load the breed stats from the Immersive Horses.ini file based on that name.
2. Next, add the horse to the 'PotentialFollowerFaction' and be sure to UNCHECK 'Respawn' and CHECK 'Unique' on the horse actor. This step will make it safe for Immersive Horses to give the player access to the horse's inventory and for the player to claim the horse. While you're there, check 'does not effect stealth meter' as well so the horse won't spot you when you're sneaking.
3. Duplicate and rename the AI packages from Immersive Horses into your mod to avoid needing to add Immersive Horses.esp as a master. Remove the 'IHO' prefix and replace it with a prefix for your mod and simply add these AI packages to your horse, then UNCHECK 'Use AI Packages' in the 'Template Data' section. This step gives the player the ability to command the horse to follow, wait, dismiss, etc.
4. If the horse is NOT marked essential and you want it to respawn when it dies, then add a custom death respawn script to the horse similar to IHOActorDeathRespawnScript (copy, paste, rename). Alternatively, if the horse has a stables quest (so it can be purchased) then add the PlayerHorseScript to the alias for the horse in the stables quest which effectively does the same thing. Remove any AI packages from the horse alias in the stables quest so the AI packages on the horse will prevail. This step is necessary because checking the 'Respawn' box will respawn the horse even if it isn't dead, which will annoyingly clear its inventory, actor values, factions, etc., whenever it unloads from a cell.