I would prefer the second option: modify one by one buttons, menus and find a way to have them available as a patch: “gui patch for 3.0 feature”
I use two different page.qml and button.qml on Mi4(cancro) and on Xperia X.
I agree with Mister_Magister
Mister_Magister: because currently 4.0 is a huge jump from 3.0 I’m trying to have the 4.0 updates on my “3.0” device.
In this case would be a “gui patch for a 4.0 feature”
Of course this is not possible for everything: i.e. I didn’t find yet the way to update the browser engine.