If an airline chooses to use a subcontractor, then they are responsible for the performance of the subcontractor. You're paying BA for the flight, not Aviance, hence BA are 100% responsible.
It amazes me that people who probably consider themselves intelligent do not understand this.