We had this issue with my 4-5 yr old, and what worked for us was a points based reward system. Each day we awarded three points (at meal times) for a conflict-free period. If there was any hitting or bad language during the preceeding period, the child did not get the point. If there was hitting, there was also an immediate loss of a point. Points were then accumulated and 'cashed in' at a rate of 5/$1, typically saved up and spent on a desired toy or treat.
This worked really well for us because the reward was fairly immediate, but also had long-term benefit. It was also very clear what the expectations, benefits and consequences were, so it helped to take me out of the adversarial role so I wasn't fighting fire with fire (a big issue with my boy).
I would caution against setting up a system where one child is rewarded for another's negative behaviour. Around here, that would cause a lot of resentment, which is the exact opposite of what I want to foster between my kids. I also think that would cause my son to completely shift his focus from what he did wrong, and onto what the other kid was getting out of it. Again, not where I would want his attention... I want him clearly seeing the benefits/consequences *to him* for his behaviour, and I don't want him thinking that something good happening to someone else is something negative happening to him. Just my opinion based on my own son and our sibling dynamics.
Also, a big yes to role play and to helping to make it right with the injured party. Both helpful here as well.