Add in the ability for resource packs to request new libraries or communicate to plugins.
How it works:
All resource packs would be like they are now, but the pack.mcmeta file would request a new library to be installed/used to load assets, or even the pack itself.
This would allow pack makers to use different formats for assets. For instance, it would allow using .SVGs instead of .PNGs so vector images can be fully utilized instead of rasterized. It could be used to use .FLAC files instead of .OGG files (or maybe even more track-based music maybe?).
But particularly the greatest reason I'm suggesting this would be to use different container formats. Using this you could request for a 7z library, and then instead of an assets folder, you have assets.7z. 7z not only is an open format, but also has more features and better compression. One major advantage is that it uses Solid Compression, so redundant files can be added (such as the same file with a different name), and redundant data (such as a large collection of .PNG files) can also be referenced in a way that much less data is taken up.
Another great advantage of this is that it helps future proof Minecraft. If better formats are created, and older ones are not still in development, resource packs can take advantage of new codecs and continue to be made on current software.