Here's a profile I built 'delaying' the first use of DS until you have 750 Fury, refreshing Corruption manually when below 500 Fury and using Doomguard at the Execute.
Code:
actions=curse_of_the_elements,if=debuff.magic_vulnerability.down
actions+=/jade_serpent_potion,if=target.health.pct<=20
actions+=/dark_soul,if=demonic_fury<=750
actions+=/service_pet,if=talent.grimoire_of_service.enabled,if=demonic_fury<=750
actions+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled
actions+=/summon_pet,if=talent.grimoire_of_sacrifice.enabled&buff.grimoire_of_sacrifice.down
actions+=/melee
actions+=/felguard:felstorm
actions+=/wrathguard:wrathstorm
actions+=/run_action_list,name=aoe,if=active_enemies>3
actions+=/summon_doomguard,if=buff.dark_soul.up&target.health.pct<=20|target.time_to_die>=60
actions+=/corruption,cycle_targets=1,if=(!ticking|remains<tick_time)&target.time_to_die>=6&demonic_fury<499&miss_react
actions+=/doom,cycle_targets=1,if=(!ticking|remains<tick_time|(ticks_remain+1<n_ticks&buff.dark_soul.up))&target.time_to_die>=30&miss_react
actions+=/metamorphosis,if=buff.dark_soul.up|dot.corruption.remains<5|demonic_fury>=900|demonic_fury>=target.time_to_die*30
actions+=/cancel_metamorphosis,if=dot.corruption.remains>20&buff.dark_soul.down&demonic_fury<=750&target.time_to_die>30
actions+=/imp_swarm
actions+=/hand_of_guldan,if=!in_flight&dot.shadowflame.remains<travel_time+action.shadow_bolt.cast_time
actions+=/touch_of_chaos,cycle_targets=1,if=dot.corruption.remains<20&demonic_fury>700
actions+=/soul_fire,if=buff.molten_core.react
actions+=/touch_of_chaos
actions+=/life_tap,if=mana.pct<50
actions+=/shadow_bolt
actions+=/fel_flame,moving=1
actions+=/life_tap
It actually comes within 600 DPS of the optimal profile using my gear, so there's not a huge amount in it to be honest; but it does give you a bit more flexibility (read: Spikier damage) and I think will work better with a late Heroism (as so many fights have this tier) - not checked where/how to change that yet, but if someone else is willing to give it a go...