Enqueue script and style assets only for blocks present on the page

Context:

Currently, all scripts and styles for all blocks will be rendered in every front-end page. This is hugely wasteful, since in reality only the scripts and styles associated with blocks relevant for that page should be enqueued.

In part, this is made difficult by the fact that it’s quite common to enqueue block assets as part of the enqueue_block_assets action, which is called not specifically for any one block type, but rather once per page load.

Proposal:

Only block assets (scripts and styles) of blocks present in the page should be enqueued.

Has it been considered to not just enqueue the scripts and styles but rather print them instead? This will reduce the risk of a flash of unstyled content, as otherwise enqueued assets will get printed at wp_footer, correct?