How about using the rfkill unblock all for kernel line?
$ modinfo -p rfkill
master_switch_mode:SW_RFKILL_ALL ON should: 0=do nothing (only unlock); 1=restore; 2=unblock all (uint)
default_state:Default initial state for all radio types, 0 = radio off (uint)
rfkill.master_switch_mode=2
Or a modprobe configuration option in "/etc/modprobe.d/modprobe.conf":
options rfkill master_switch_mode=2
Do you have any other services that touch the wireless devices on start?
One example on a Dell laptop had a service called hostapd that caused conflicts.
The services were both trying to initialize the wireless module.
This resulted in the wireless device left in a strange so to say scrabbled state.
A new initialization sequence would be required to reset the device to a functional state like your init rule provides.
Try disabling the non-essential services and see if rfkill is more cooperative.
A long shot to try would be to blacklist the wmi on the system.
Many years ago a few users got stuff to work by blacklisting "hp_wmi".
So it could be that something in the wmi has the potential to conflict with the operation of rfkill.
Have you tried other wireless tools to connect with?
Others have had issues with connman as well.