Meiner Meinung nach sollten auch private Parkflächen als amentiy=parking getagged werden, schließlich wird da nun mal geparkt. Für die Unterscheidung privat / öffentlich gibt es ja das access-tag.

amenity=parking_space ist auch für mich ein einzelner Parkplatz. Das verwende ich gerne für einzelne, für Behinderte ausgewiesene Parkstellen, an denen sonst keine Parkmöglichkeit ist, z.B. vor der Filmwelt am Oberen Marienbach.

Bezüglich große Parkfläche oder einzelne Garagen-Gebäude habe ich überlegt und würde es so machen:
- Die große Parkfläche als amentiy=parking, parking=garage_boxes (und je nach Bedarf access=private)
- Einzelne Garagenboxen in dieser Parkfläche als building=garage(s). Hier kann man noch überlegen, auch ein access=private anzuhängen. Da bin ich mir unschlüssig, schließlich steckt ein eventuelles access=private schon im umschließenden amentiy=parking.

Zwar gilt die "One feature, one OSM element"-Regel (https://wiki.openstreetmap.org/wiki/One_feature,_one_OSM_element), allerdings finde ich das mit obiger Kombination nicht im Widerspruch. Schließlich beschreibt building=garage(s) das Gebäude. Es ist ja nicht gesagt, dass in einer Garage nur Autos stehen (zumindest ist das in den Bundesländern unterschiedlich geregelt. Siehe übrigens § 18 Abs. 1 der GaStellV Bayern für einen kleinen Schmunzler). Ebenso wird millionenfach das Tag building=residential bei Wohnhäusern verwendet, obwohl die schon in einer landuse=residential-Area stehen.

landuse=garages würde ich nur bei wirklich großen Flächen mit Garagen nutzen, schon so ab der Größe vom Volksfestplatz oder so. Jedenfalls nicht bei 15 Boxen in der Nähe von Wohnhäusern...