Red_ACD's idea is GREAT! Carrying something also really helps to curb aggression. I have a friend with a dog-aggressive Aussie who has him hold a rubber dumbell on walks. He's so busy with his dumbell that he doesn't care much about other dogs.
He should do okay on cattle, they'll be able to stick up for themselves. He may get kicked, it's a risk with any working dog. Shiner got kicked once while she was working the cattle, because she bit one unnecessarily. She never did that again and she learned to stay behind or in front of the cattle - never pressed against the side of their rear legs.
If you want him to herd your cattle, I'd start teaching him some whistle commands. It is SO much easier than shouting commands while he's in work mode. I don't know the "official" way to teach whistle commands, but I taught them by whistling a certain tone for each command (I'm bad at whistling so I use a whistle. Shepherds' whistles are neat but i still haven't figured mine out) and following the tone immediately with the hand signal for that command. So, I'd whistle, do the hand signal for lie down, and reward him for it. I did this 10-15 times so he began anticipating the down command immediately after hearing the whistle. My dog tries to stay one step ahead of me, no matter what, so the second he heard the whistle without the hand signal, he hit the floor. He got a huge reward for it and we moved on from there. I gradually started adding distraction, distance, etc.
Right now all Dakota has are stop, slow down, lie down, NO and a recall, but that made working the geese much easier. I have no idea if I'm doing things right and I may have to completely retrain commands once I get him working sheep, but it works for now.