The config system is designed to not include values in certain circumstances, e.g. if you check the docs on config it mentions the use of "Only", "classexists", "moduleexists" etc, which might work for you.
Unit tests still in the core use remove_extension() so that's probably alright to use for the time being, e.g. Member::remove_extension('MyMemberExtension') for 3.1 syntax, and Object::remove_extension('Member', 'MyMemberExtension') for 3.0 syntax. You can also manipulate the Config class directly, e.g. Config::inst()->remove('Member', 'extensions', Config::anything(), 'MyMemberExtension')
If this function gets deprecated that'll be a later release of the framework.