The Edit This Page package is designed to allow the end user to specify custom attributes without doing a lot of programming, and get an automatically generated user interface for editing the resulting content items. Behind the scenes it uses the acs attributes system and the acs_attribute_values table. See http://etp.museatech.net/etpdoc/contenttypes for a short explanation.
Although a similar facility for editing attributes of any object type would be nice to have, I think the ETP interface should continue to evolve into the best way to edit content_revision objects and their subtypes.