Interface
Setting up your interface to properly convey the information you need to play at your best is a vital part of the World of Warcraft experience, and there is no correct interface for all players.
After the Addon changes in Midnight the base UI offers relatively good customization, which can be modified to your liking. If the way it looks isn’t to your taste there exists multiple supported addons that let you customize the way the Base UI looks, including the Cooldown Manager. The list of available addons are fairly long, with Addons like ElvUI which have been around for a long time to new ones that are set up with the new changes in mind. You will have to find whichever offers you the best customization.
Addons that modify the nameplates of enemies is probably one of the few things that can give you an edge in content as it can let you track casters and priority targets better with good set-ups. Plater and Platynator are both good options currently available.
BetterCooldownManager lets you customize your Cooldown manager, and if you prefer tracking Soul Fragment as combo points SenseiClassResourceBar is one example that can do it for you.
Cooldown Manager
Besides getting an addon to customize the looks if you prefer, setting up your cooldown manager to track important buffs and cooldowns can be very useful.
The main things to recommend is setting it up so that core spells like Fracture and Immolation Aura are tracked, as well as cooldowns that you want to use frequently so you don’t miss out on using them. The order of spells is not as important as making sure you track spells that are important to know when they are available.
Macros
Below are some useful macros that help with general gameplay as Vengeance Demon Hunter:
Reaver’s Glaive Macro
Use this so activating Reaver's Glaive as Aldrachi Reaver doesn’t accidentally spell queue Throw Glaive if you press the button too rapidly.
/cast Reaver's Glaive
Alternatively if you want a Mouseover version you can use
/cast [@mouseover,harm,nodead][] Reaver's Glaive
Focus Macro
Set your focus on your mouseover or if no mouseover exists it will set focus to your target.
/focus [@mouseover,nodead,exists]; [@target,exists]
Sigil of Chains Macro
Makes your Sigil of Chains go where your cursor is.
#showtooltip Sigil of Chains
/cast [@cursor] Sigil of Chains
Sigil of Misery Macro
Makes your Sigil of Misery go where your cursor is.
#showtooltip Sigil of Misery
/cast [@cursor] Sigil of Misery
Sigil of Silence Macro
Makes your Sigil of Silence go where your cursor is.
#showtooltip Sigil of Silence
/cast [@cursor] Sigil of Silence
Sigil of Flame Macro
Makes your Sigil of Flame go where your cursor is.
#showtooltip Sigil of Flame
/cast [@cursor] Sigil of Flame
Sigil of Spite Macro
Make your Sigil of Spite go where your cursor is.
#showtooltip Sigil of Spite
/cast [@cursor] Sigil of Spite
Infernal Strike Cursor Macro
Makes your Infernal Strike go where your cursor is.
#showtooltip Infernal Strike
/cast [@cursor] Infernal Strike
Infernal Strike Player Macro
Make your Infernal Strike go where your character is, useful when you want to use it for a bit extra damage without moving or to get a small shield from First In, Last Out.
#showtooltip Infernal Strike
/cast [@player] Infernal Strike
Consume Magic Macro
Makes your Consume Magic a mouseover ability.
#showtooltip
/cast [@mouseover,harm,nodead][] Consume Magic
Fiery Brand Macro
Makes your Fiery Brand a mouseover ability.
#showtooltip
/cast [@mouseover,harm,nodead][] Fiery Brand
Imprison Macro
Makes your Imprison a mouseover ability.
#showtooltip Imprison
/cast [@mouseover,harm,nodead][] Imprison
Torment Macro
Makes your Torment a mouseover ability.
#showtooltip Torment
/cast [@mouseover,harm,nodead][]Torment
Throw Glaive Macro
Makes your Throw Glaive a mouseover ability.
#showtooltip
/cast [@mouseover,harm,nodead][] Throw Glaive
Disrupt Macro
Makes your Disrupt a mouseover ability.
#showtooltip Disrupt
/cast [@mouseover,harm,nodead][]Disrupt
Focus Disrupt Macro
Makes your Disrupt go onto your focus target.
#showtooltip
/cast [target=focus,exists,nodead] [] Disrupt