You're right that changes don't exist in a vacuum, but I disagree heavily that the information gained from only controlling one variable at a time is necessarily useful in the case of League. Sure, in your Brand case, you controlled for the mana changes. And Brand was fine. But if the ADC changes end up hitting Brand indirectly, and Brand needs compensation, did you really learn how to buff him if you learned that he was fine after the mana changes? Maybe buffing his mana is still the right choice, since it also gates his damage in a way, and means he deals enough poke over time to be relevant but also still bursts for the same amount -- which might be a healthier gameplay pattern in the long run anyways.
I think you're wrong here also because changes in League can create feedback loops, such that the effects of two changes implemented together are often much more radical than the mere sum of both changes implemented alone. (Champion+item nerf on the same patch is the classic example, here.) Controlling variables in the way you describe is also ignoring those feedback loops, which -need- to be accounted for to balance correctly.
So honestly, I don't think there's a lot of value in controlling changes like that when it's not even a reliable indicator of the best ways to fix later problems and it's not a good indicator of how a change will play with other changes coming in soon or around the same time, which is arguably more important. I'd rather just see things tested all at once unless the change is also being tested alongside something extremely volatile and universal in its effects that might not ship (e.g., the first proposed round of waveclear changes).