@Dillusional You're not considering haste, which would improve the performance of white hate generation. Consider this formula for swings per minute, following from the wiki's
haste guide:
60/((DLY/10)/(1+Haste)) = swings per minute
Haste is expressed as a decimel, so 100% haste would be 1.00 here. You can use 0.21 if you want to figure it unbuffed with, say, an FBSS, but I don't think that's the situation for most warriors, most of the time, in raids.
Into the whole formula for total hate per minute with 100% haste:
60/((DLY/10)/(1+Haste)) * (DMG + Bonus) + (Proc Hate) * 2 (rate @255 Dex) = Total Hate per minute.
As for DoTs, I'm simply adding on 10 ticks, considering continuous uptime but that's really liberal and probably not realistic.