We think it is really important to stay compatible with the entire JS ecosystem and there is little value in changing how dependencies are stored in package.json. However, we add additional things in other files, like the yarn.lock lockfile. That way your project will stay compatible with npm but when you use Yarn you get additional guarantees like installing known versions of packages that will work well with your project.
It is unlikely that the structure of node_modules will change fundamentally because it'll have to stay compatible with node.js. It is entirely possible that the node module resolution algorithm may change one day, but that would affect npm and Yarn both the same.