To make sure we are on the same page, do you want to change one or two:
One: http://cld.wthms.co/jU5fSl
Two: http://cld.wthms.co/2xsQ7O
_______
If One, then this setting determines whether or not the attribute is shown in this area: http://cld.wthms.co/7BWuO0. Two determines if they are links on this area or not.
The visibility does not refer to whether they are shown in the selects above when adding to cart.
One: http://cld.wthms.co/jU5fSl
I need all those checkboxes disabled via CSV import.
I did bunches of tests around this.
If you export all products, change the “Attribute visible” column to 0 on the Variable product (not variation), then import all products with “merge existing” enabled, then this works as expected and just the visibility setting it changes.
However, I did come across a bug described here: https://github.com/woocommerce/woocommerce/issues/19398
The bug I mentioned has a patch in the master branch now (will be in WC 3.4).
The temporarily workaround should be to export/import all products though, not just variable ones. Does that work for you when you try that?