Best approach to download Sentinel-2 L1C data in SAFE format

Sentinel-2 L1C data on AWS S3 seems to be stored using different conventions. Some products can be found under a ‘tiles’ key while others are stored under a ‘products’ key. Also, products with processing baseline 05.00 have ‘.SAFE’ in their object key, while products of other processing baselines don’t.
E.g: “products/2021/12/31/S2A_MSIL1C_20211231T005031_N0301_R045_T57VXE_20211231T023328/” vs “products/2021/12/31/S2A_MSIL1C_20211231T005031_N0500_R045_T55TGL_20221223T184029.SAFE/”.

This makes reconstructing the original SAFE format - as required by some processing libraries - hard and error prone. It also looks like the sentinelhub-py package is no longer supporting reconstruction of data stored on S3 into a SAFE format: https://github.com/sentinel-hub/sentinelhub-py/blob/master/CHANGELOG.MD#version-381---2023-01-18.
The referenced notebook sample link is dead, but the one with git tag 3.8.1 works: https://github.com/sentinel-hub/sentinelhub-py/blob/v3.8.1/examples/aws_request.ipynb.
However, the code provided in the notebook still uses the deprecated AWS module to download the data.

So:
1/ What would be the best approach to download Sentinel-2 L1C data in SAFE format when processing on AWS?
2/ Will all S2 L1C data become available in processing baseline 05.00? What is the timeline?

Perhaps worth to check:

Yes, I also noticed that topic, but the code there also uses the deprecated module as it dates from 2018, before deprecating the AWS download support of the sentinelhub-py package.

Gently checking again if anyone knows what the best approach would be for this now that AWS download support is deprecated in the sentinelhub-py package?