At Ybos, we've tried to keep context_id mostly as a permissions thing. We've added a parameter into the acs-subsite package which allows you to choose to default context_id to the package_id whose site-map you're using (the 'classic' method) or to the nearest ancestor providing subsite services. This will be released soon hopefully.
Anyway, there could be room for another inheritance scheme, not restricting it to subsite-type apps.