Hey, I had this problem for a long time until I finally found the solution. To get the variable from another node do:
ClassName newVariableName = GetNode<ClassName>("nodePath");
Now you can access those variables from the node using . notation
(eg newVariableName.variableYouDesired)
The key thing here is that instead of putting the node type in the <>, you put the class name of the script you attached to that node that contains the variable you desire.
This way you don't need to fuss with autoload or anything like that.
Instead of having to type out everything each time,
Have the newVariableName as a property and assign the get node to it in the ready function so you can just type the newVariableName instead of GetNode every time in the rest of that script.
eg
public ClassName newVariableName;
public override void _Ready()
{
newVariableName = GetNode<ClassName>("nodePath");
}