Yeah, the commented-XML approach surely doesn't scale.
On the profile approach, in order to make that scale it might make sense to allow splitting it over multiple files to keep them manageable. These files could be merged at runtime into a single logical XML document possibly using something like XML xinclude. This might make the rewriting following an update 'interesting', however ;)
I like the command line switch. Maybe we can do something like what maven has and support the definition of multiple profiles combined, so if I want to add my webconsole to the default profile I could call standalone.sh -Pdefault,osgi-webconsole or something like that...