One of the people at my current project hit on the best solution of all: no ejb-jar.xml and jboss.xml, and only one "hard-coded" configurable property in the class annotations that nevertheless can be put in a single, central place in your code: the name of the resource adapter jar.
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = CommonValue.JMS_QUEUE_CLASS),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "AgwIncomingGpsQ4"),
@ActivationConfigProperty(propertyName = "DeliveryActive", propertyValue = "false"),
@ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "true") })
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
@ResourceAdapter(value = CommonValue.JMS_RESOURCE_ADAPTER_NAME)
@AspectDomain("AgwIncomingGpsDomain4")
public class IncomingMdbQ4 implements MessageListener {