I think global variable is referring to the variable unit on top of the event sheet, not global storage like dictionary. In contrary, I see a lot of people recommending global variables as the fix of a problem, especially for transferring data across layouts.
What I suspect the problem is that, if you have a lot of layouts doing their own things and you use global variables to do this, the scope of the variable becomes blurry quickly. Like, a monster in layout 1 has a global health of 10. You hit it and it's reduced to 5. In layout 2 that's supposed to be reset to 10 but its health is going to stay at 5 because of what happened in layout 1.
Dictionary and array, I believe, are highly encouraged. You can even make multiple dictionaries instead of just one depending on how you want to organise the data.