We are working in ZFC, so under first order logic we introduce the undefined predicate $\in$ and the ZFC axioms.
(1) $\forall A,B,C ((\forall(x \in A \rightarrow x \in B) \land \forall(x \in B \rightarrow x \in C)) \rightarrow \forall(x \in A \rightarrow x \in C))$
By universal elimination rule let $A', B',C'$ be sets.
(2) $(\forall(x \in A' \rightarrow x \in B') \land \forall(x \in B' \rightarrow x \in C')) \rightarrow \forall(x \in A' \rightarrow x \in C')$
Now by the deduction first order theorem if we can deduce $\forall(x \in A' \rightarrow x \in C')$ from $(\forall(x \in A' \rightarrow x \in B') \land \forall(x \in B' \rightarrow x \in C'))$, (2) and consequentially the theorem (1) would be proved. So, we assume
(3) $(\forall(x \in A' \rightarrow x \in B') \land \forall(x \in B' \rightarrow x \in C'))$
To prove
(4) $\forall(x \in A' \rightarrow x \in C'))$
By universal elimination let $x'$ be a set.
(5) $x' \in A' \rightarrow x' \in C'$
Z (The Bourbaki danger)
By the deduction first order theorem again if we can deduce $x \in C'$ from $x \in A'$, then (5) would be proved. So, we assume
(6) $x' \in A'$
If we prove $x' \in C'$ then we have proved (5) and so (4),(2) and (1).
By (6) and (3)
(7) $x' \in B'$
By (7) and (3)
$x' \in C'$ QED!
In all the places where I found the theorem (1) ('the transitivity of subset'), there is some version of this proof that is considered complete and correct. However, it seem to me that this proof is not correct if first we not analyze the case $A'$ is empty in which case (2) is true by vacuity, then we can assume $A'$ is not empty. If we don't do that, (6) is a contradiction in the case $A'$ is empty and so the whole proof is wrong. Am I the wrong one? If so, why?
Here's your basic mistake:
There's nothing wrong with having contradictory assumptions at some point in a proof. On the contrary, that is a good thing to happen, because it means you can use the Principle of Explosion to conclude whatever you want right away and be done with that branch of the proof.
A more semantic way of saying this is that, finding yourself with contradictory assumptions means that you're in a branch of the proof that doesn't correspond to a possible situation you're trying to prove something about. Therefore no proof is needed in that branch -- or, in yet other words, "eh, whatever" will suffice as a proof. That's the reasoning behind the principle of explosion.
If your particular case, you don't even have a contradicting assumption, only the possibility that there is no $x\in A'$ to prove anything about. Again, this is not a problem for a proof: if it turns out that $A'$ is empty, it still doens't harm you to have had a plan for what to do with its elements.