A late answer, but for those people still looking, here's how I solved it in jQuery. It may need adjusting for templates that rearrange the configurable product template as it precisely walks up and down the DOM tree.
I placed it in my template file Magento_ConfigurableProduct/templates/js/components.phtml
Explanation of how it works: It hooks onto the dropdrop change event and using the setTimeout function, runs after all the other hooked events run to autoselect the next dropdown if there's only one option. This can then cascade if the dropdown after that also only has one option.
/* Andrew Davie 100118
Where there is only one option left in the dropdowns, autoselect it.
var picked = this;
autoselect(picked); //do the autoselect after everything else.
var nextsel = $(picked).parent().parent().next().find('select[id^="attribute"]');
<?= $block->getChildHtml() ?>