Well I think a set of small changes could make the bitcoin network scalable and add the ability for micropayments. First of all a structured network is needed since the just broadcast to everybody method used now is incredibly network intensive, then we have to split the network in two parts, one is composed of all generating nodes (they need to know all transactions) and non-generating nodes (just publishing blocks with aggregated transactions is enough for these). Also one might start thinking about segmenting the network by adding a second smaller difficulty which aggregates transactions in a small cluster which would then be aggregated and signed off by the core network composed of the current implementation.
The current network design does not scale at all, we need to either change it or build a micropayment system around it
