Yes I agree. I would also much prefer being able to keep the ISO image under 300 MB. But that's really challenging.
1) Mesa and the 3D stuff is useless on a rescue system. So I attempted to build xorg-server with the "minimal" USE flag. It removes mesa, but it also forces you remove drivers such as xf86-video-nouveau. I don't really know if xf86-video-nouveau adds any value compared to xf86-video-modesetting for basic display or if it really provides support for cards which would not work without it. Also many other less important drivers have to be removed. So it saves 11MB in the ISO images but I don't know what consequences it has for people with old or exotic graphic cards. It works fine for me on my intel card. You can try the beta with minimal xorg
to see if it works for you. But I don't think it is worth this change for saving only 11MB anyway.
2) GTK. I also agree. I would much prefer having just one GTK version. I have been masking GTK3 for a long time. But overtime it was become more and more difficult to avoid it as support for GTK2 was being removed from many packages (or their dependencies). So unless you want to maintain tens of packages yourself you have to get GTK3. The best option is to just remove GTK2 and only have GTK3. But is is not possible yet as XFCE only works with GTK2 at the moment.
3) Two versions of python. That's actually a very good point. As python3 is now mainstream it does not seem to make sense to keep python2. So I just attempted to rebuild everything with only python3. And when building I can see there are still many utilities which depend on python2 but I could drop them as they are not absolutely essential. But then it is impossible to have samba as it requires python2 (build and runtime dependency in the gentoo package). I don't think I am going to drop Samba. So I will keep both versions for now until I can remove python2.
4) Ruby is just like python a very good language for scripting and it is essential if you want to be able to run your own scripts. And it's not that big.
So it is really difficult to keep it small. I often reject new requests for this reason. One thing that saves a lot of space is to remove alternative kernels, as kernel modules are using a lot of space. So I am considering it now. Removing the alternative kernels saves 59MB in the ISO image size. It helps but still far away from what we want. Also removing the 32 bit kernels could help. So many years after the amd64 platform has become available it may be time to stop supporting 32bit systems as in RHEL7 and as it is being considered for ArchLinux. But I think it's better to keep rescue64+rescue32 for now and drop altker64+altker32.