Balakov, 53, replaces former teammate Hubchev, who was appointed in late 2016 but is reportedly leaving to take up a role at first division side Levski Sofia.
As attacking midfielder, Balakov played in the Bulgarian side that reached the semi-finals at the 1994 World Cup.
Bulgaria are second in their Euro 2020 Group A after draws against Montenegro and Kosovo. They visit the Czech Republic on June 7 and host Kosovo on June 10.
"We will make every effort to qualify for Euro 2020. But we are not magicians," said Balakov, who played his club football with Portugal's Sporting Lisbon and Germany's VfB Stuttgart and Plauen.
His contract runs from June 1 until the end of the 2022 World Cup qualification stages in November 2021.