And this is the root of the problem. A concept "empty" is not a set until someone decides to make it a set. "Empty" has no elements. But once it is made into a set, it has an element.
So, if it is defined that all intersections are sets, that prohibits an "empty" set. It will never be truly empty. It will always have an element, even if that element is "empty". No matter what elements, if any, are returned from the evaluation, the elements are immediately put into a set. If "none" are returned, this itself becomes an element, an object, a construct when it is contained. This cognitive step is being ignored. It's the application of the defintion onto the result of the action of intersecting. From this application of the definition, yes the "empty" set will be a subset of all other sets, because all other sets have now been defined as having at least 1 element, even if that 1 element is "empty". The actual result of the intersection may not have elements, but that result, empty or not, becomes an element in the same way that 1 becomes { 1 }, or A becomes { A }, or Mickey-Mouse becomes { Mickey-Mouse }.
And because of this, when a person goes to compare this "empty" set with all other sets, there is obviously something to compare. Do the sets have more than "empty".
When someone says, there are no elements in the "empty-set" to compare. It's not that there aren't any actual elements. The element "empty" is being ignored. The cardinality of the "empty-set" as the definition is applied to the result of a failed intersection does have 1 element, but that cardinality is being ignored.