I like the ideas in this thread that keep lit as close as possible to being a simple template language. So, defining substitutions in a test seems like a nice way to stamp out RUN lines:
// DEFINE: %run=%clang -cc1 -fexceptions -std=N -mstuff %s
// RUN: %run -triple A | FileCheck %s --check-prefix=CHECK-A
// RUN: %run -triple A | FileCheck %s --check-prefix=CHECK-A