So, it sounds like your IdeaPad Yoga 2 semi-bricked the rfkill the same way mine did. I just figured out how to fix it with the following:
The rfkill is controlled by the embedded EC, which is driven by the ideapad-laptop module. This module tweaks some wrong bits on the Yoga 2, but thankfully not in a way that permanently breaks stuff.
The EC presents itself as an ACPI platform device, with enumerated commands and a property read and write method. The structure is fairly obvious if you look at the ideapad-laptop.c in your local linux source tree.
There are 3 bits of interest:
VPCCMD_W_RF: turns on/off RF devices in general? This one is interesting, as it's not used in ideapad_laptop.c, but its inverse, VPCCMD_R_RF -is-.
VPCCMD_W_BT: turns on/off Bluetooth devices.
VPCCMD_W_WIFI: turns on/of wi-fi.
For each of these commands, sending a 1 to them turns their function on, and 0 turns them off. I suspect that the W_RF is actually non-functional on the yogas. The ideapad-laptop driver will see its setting though, and turn on the persistent rfkill flags for the BT and WIFI devices.
I fixed this by compiling a local version of the ideapad-laptop.c driver that executes the following commands as soon as it can, then has the module abort:
write_ec_cmd(ideapad_handle, VPCCMD_W_RF, 1);
write_ec_cmd(ideapad_handle, VPCCMD_W_BT, 1);
write_ec_cmd(ideapad_handle, VPCCMD_W_WIFI, 1);
After that, I made sure to keep the ideapad-laptop module with the blacklist ideapad-laptop option in a file in /etc/modprobe.d/whatever.conf.
I've been working fine since.
Unfortunately, the ideapad-laptop module has changed from one kernel version to another, so I can't just dump a built module for full source file, but if you search that file for write_ec_cmd strings, and build your own copy of that file with instructions like those at https://www.kernel.org/doc/Documentation/kbuild/modules.txt for building external modules, you could be fine.
You'll probably want to put it in one of the debugfs files so you can run it by catting a debugfs file, then unload the module before you accidentally hit a rfkill button.
You should then be able to rfkill list and see yourself unblocked!