My strategy so far has been to take intensive classes with a private teacher (a professional from a language school), 2h every day I'm in town. Each course is 20 classes (i.e. 40h), and after 10 courses you're supposed to be reasonably conversational. Because I only take classes when I'm not out of town, and I'm constantly traveling, I've completed about 3 levels in 6 months.
I've decided to focus purely on conversational mandarin, and skip learning Hanzi (characters) entirely. So far, tones is the part I have the biggest trouble with. I'm told I'm alright (i.e. a lot of people are much worse), but I still feel entirely inadequate. I often remember vocabulary without the tone. I also have a ton of difficultly distinguishing tones when listening to spoken mandarin and only distinguish them based on context. That triggers some stupid mistakes like not knowing whether I heard mǎi (buy) or mài (sell), which have exact opposite meaning but sound the same to me unless I'm listening extra carefully. Whereas I can easily distinguish shì (to be, to try) and shí (ten) based on context.
I feel, however, like I'm finally reaching a level of being able to communicate in a useful way outside of my classes. I've used mandarin for basic things in China and Taiwan (e.g. restaurants), and have mostly used it to talk to people when going out.
There's something quite amazing about learning something new (really the first time I've endeavored something this big and different since college), and I feel like this'll be one that will pay serious dividends over time.