I continue to do something that I started many, many years ago in B4A 1.0 back when there were only a half dozen or so screen sizes, the Designer was simpler, and there was no Designer Script.
I create two layouts – a portrait and a landscape, 640x480, scale 1.0. In the Designer Script I use AutoScaleAll.
In my Activity.Create I figure out whether the orientation is landscape or portrait (Width is greater or less than Height) and dynamically reposition the controls (and sometimes resize images a little). AutoScaleAll adjusts the size of the control based on the pixels per inch. I center or align the controls based on the exact display size. This gets around the problem of hundreds of different screen sizes.
Something similar can probably be done using the Designer Script, but I've never used that. Dynamically repositioning controls sounds terrible, but it's really not that bad once you've done it once or twice. I've uploaded many small test apps to this forum. Many probably demonstrate this dynamic repositioning.
Barry.