I read an article on a blog a couple months ago about having a backup device for 2FA. It's one of those why didn't I think of it things. When you setup 2FA, simply scan the barcode with a second device. Your phone and the second device (tablet, backup phone, etc) will generate the same codes because it's using the same key.
A few months back, Amazon was running a promotion for Prime members to get a fairly capable unlocked Android phone for ~$50. I'd jumped on it mainly because I went iPhone for my primary phone and it doesn't always play well with my Chromecast Audio. Android of course has it baked in natively. Long story short, I've been using it as a WiFi only device and have my all my 2FA accounts backed up to it.
Lastpass came out with it's own
Authenicator app which works mostly like Google Authenicator just more user friendly. When logging into LastPass, I don't have to type the code I just have to press accept on my phone. It's easier. Google now allows you to just press Yes from the mobile Google apps to authenticate login.
Companies are making 2FA much more user friendly which means more people will use it. Apple bakes it right it - it's not even an option. If you login to iCloud from an unrecognized device it will ask you which trusted Apple device you want your 2FA code sent to. The code pops right up on the screen which makes things really easy.