The only way I know to do this would be union or intersect all three of your layers to one. If you have an Advanced license this could be done in one step, otherwise you are limited to two inputs at a time. This should create a single layer that looks like the district polygons, but each polygon would have a country and division attribute.
The problem is you're trying to control the labels of three different, independent labels, and there's only so much you can do as far as positioning without converting to annotations. With everything in a single layer, you create a single label that would give you the control you want over formatting. You'll need to use the vbnewline value for your label formatting - ie [country] & vbnewline & [division] & vbnewline [district]
would be your expression.
Note that you do not have to symbolize the layer to show the labels. This means if you didn't want to combine the three layers because you want different symbology for their boundaries, you can still do this as a fourth layer and change the symbology to no fill/no outline. That way the labels show up, but the symbology still comes from your other three layers.