At this point, as masterfully as Bitcoin was created, it has some limitations of course.
My question is: Could it be done better, or is it just matter of trading one feature for another (i.e. speed for decentralization)?
If we were to build it from scratch again, confidential transactions would be ideal. While the fully transparent ledger is good for some things, it's not ideal for transactions where privacy is necessary.
Speed and scalability are always going to be the weak points of decentralized systems. They're inefficient and redundant, and speeding up block times just worsens orphan rates, lowering transaction security.