Depends on the lvl and haste.
But in general I would aproach the Soul Fire proc it the same way as for Eclipse.
I had 1 macro for IS+Wrath and 2 for MF+Starfire then ISboxer toggle that will send 1 or 2 from my main dps button and addon that showed me the proc on main tank. I would then hit the toggle when I seen the proc.
So in lock therms and pseudo code (lazy to lookup the syntax and actual spell durations) you should have one macro for above 35% boss health and one for under:
Macro 1:
/castsequence [reset: target/23/alt (or whatever duration is CoA) Curse of Affliction,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,, (add as much commas as needed based on your mash speed, it will just skip to next line)
/castsequence [reset: target/30?/alt] Corruption,,,,,,,,,,,,,,,, (same as above with the commas)
/castsequence [reset: target/23?/alt] Immolate,,,,,,,,,,,,,,,, (same as above with the commas)
/castsequence [reset: 40 (max duration if you have the Life Tap glyph, but probably want to Tap more frequently or you run out of mana, you have to test it yourself) Life Tap,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
/cast Shadow Bolt
Macro 2:
/castsequence [reset: target/23/alt (or whatever duration is CoA) Curse of Affliction,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,, (add as much commas as needed based on your mash speed, it will just skip to next line)
/castsequence [reset: target/30?/alt] Corruption,,,,,,,,,,,,,,,, (same as above with the commas)
/castsequence [reset: target/23?/alt] Immolate,,,,,,,,,,,,,,,, (same as above with the commas)
/castsequence [reset: 40 (max duration if you have the Life Tap glyph, but probably want to Tap more frequently or you run out of mana, you have to test it yourself) Life Tap,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
/castsequence [reset: target] Soul Fire, Soul Fire, Soul Fire, Shadow Bolt (insert as many Soul Fires before so you only cast the Shadow Bolt right when the crit buff is about to expire)
Drawback is, it will re-apply all DoTs when you switch to the second macro.
I'm not entirely sure this will work, but you might be able to bypass this with two additional click macros.
Split the Macro 1 to DoTs part = m1 and nuke part m2.
Take only the nuke part from Macro 2 = m3.
Put those in order m1, m2 , m3 to your bottom left additional cast bar.
Create two click macros (this will be the macros you mash based on target HP%):
CM1:
/click MultiBarBottomLeftButton1
/click MultiBarBottomLeftButton2
CM2:
/click MultiBarBottomLeftButton1
/click MultiBarBottomLeftButton3
Put those on your main dps buttons or make as toggle as mentioned in the eclipse example.
Theory is that since you still using the same macro for DoTs it will continue and not reset when you start mashing CM2.
BR
Tutella