I think Ethereum and Bitcoin are complementary. One is a currency, the other is a currency as well as a trading platform.
One sort of works (Bitcoin) and the other one can't possibly work and is a lie.
Do you mean the bitcoin will work and the Ethereum does not work in its present form? Will further development change that?
Ethereum can't be fixed.
No general purpose programmable smart contract block chain can be fixed. One might be able to design some very limited hard-coded contracts that are carefully studied, but even these are very likely to produce the fundamental errors around commutativity, deadlocks, and other issues that plague distributed systems. It is simply impossible to have different people coding scripts and not have them blow up in pile of disorder.
The universe will not tolerate a total ordering, else our universe would not exist because the future would be predetermined by the past. Or stated another way, the speed-of-light would be infinite and the past and future would collapse into an infinitesimal point.
Bitcoin's scaling problem has potential technical solutions that aren't perfect but may work well enough in practice. However, the politics around Bitcoin suggests to me that the solution will come in an altcoin not in Bitcoin, but we will have to wait and see on the outcome.
Note the math wizard behind Synereo (Greg Meredith) has proposed a design for contracts that is enforced by social engineering (the cascade of individualized actions/partial orderings are expected to adhere to some social function) rather than by an enforced global ordering. I have my doubts about the applicability of this idea and it is certainly no where near what people mean now when they say "smart contract" on a global ledger.