The coach insisted that Robinho deserved to start ahead of the Italy international, who he claims is yet to return to full form or fitness
Balotelli was brought on as a substitute but failed to spark a revival as the Rossoneri slumped to a 3-1 defeat at Camp Nou thanks to two goals from Lionel Messi and a Sergio Busquets header.
Allegri insisted that Robinho earned his spot in the starting lineup ahead of Balotelli, who he believes is still recovering from time on the sidelines suspended and injured.
"It’s simple, Mario had that injury on international duty and his recent performances were not sharp, so I preferred to start with the pairing that played in the first leg," the Milan boss told Sky Sport Italia. "I chose Robinho because he gives a different tempo to the side, played well at San Siro and did fairly well tonight too. We had done well under pressure from Barcelona.
"The club hierarchy knew about my choices. I spoke to the club president [Silvio Berlusconi] before the game, as I always do, and told him Balotelli was not going to start. I did this for the good of the team and for the good of Balotelli too.
"He did some good things in the second half. Of course, people expect a lot from him. He has to improve and get accustomed to playing every three days, which he has never really done before coming to Milan. That’s tough both physically and psychologically.
"He did very well on a few occasions tonight, while in others he delayed the pass a bit too long. It is a particular shame for the third goal, as we had several chances to equalise this evening.
"The real regret is that we didn’t get the final pass right in a few different attacking situations."
Milan - which sits second in Group H ahead of Ajax and Celtic, but 11th in Serie A - next faces bottom-of-the-table Chievo in Sunday's league clash.