My experience with Nokia is: great hardware and absolutely awful software. How to rescue Nokia? Continue making great hardware and switch to Android on all phones, before everyone else does.
And I assume that this is major reason, why Nokia can pump out reasonable smartphones with size and battery life of dumb feature phone with price certainly bellow other smartphones. (Well I have E90, which certainly is not small or was not cheap, but battery life is unsurpassed by anything, except 10 year old high-end Nokia phones).
I could say the same of Motorola. However, Android hasn't been a saviour for them. The Droid X has been criticised for a bad UI skin (originally called, perhaps somewhat ironically, Blur), and pre-installed bloatware that can't be removed.
I think it is part of the deal with moving-chassis phones (hinges and slides) - it's very hard to make them durable and still light.