There is two issue in this: One is notion of whether officiating was fair, and the other is more technical as to what should be and shouldnt be a penalty.
In regards to actual fairness of officiating regarding the match, I have no doubt in my mind Italian's did not receive any advantage from the ref. They were far better side in the first half, and only through a harsh dismissal, socceroos found themselves back in the match. I am pretty sure 99 and 100 referees would have found red-card very harsh, and undeserved, however rash, impetutous, person Matrix may be. And Austrailia had almost whole half to score the winner, and they never looked like coming anywhere near it.
As for the more technical issue: What is penalty or not does not have clear boundary. While there is no doubt Grosso dived, O'Neil came in recklessly and was actually impeding the movement of Grosso by blocking his dribbling path. Should Grosso stood still and watch GK just pick up ball and let the match carry on? Although in many cases of diving defenders are penalized unfairly for almost non or simply no contact by an act simulation, in this case O'neil is far from innocent party. IMO, he was clearly obstructing the path of Grosso and so only possible outcome was that Grosso either dived or stand up. Either way, one of them would have felt injustice.
The kind of acting that needs to be cut out is just blatant attempt to con the referee by simulating when there is no contact. 3 game match ban and nullifying the result would be an appropriate sentence. Zokora and Van Persie be warned.