The normal approach is was to start their name with “X-“. E.g. X-Forwarded-For, X-Requested-With. This is also mentioned in section 5 of RFC 2047.
Update: On June 2011, the first IETF draft was posted to deprecate the use of the “X-” prefix for non-standard headers. The reason is that when non-standard headers prefixed with “X-” become standard, removing the “X-” prefix breaks backwards compatibility, forcing application protocols to support both names (E.g, x-gzip & gzip are now equivalent). So, the recommendation is to just name them sensibly without the “X-” prefix.
Update 2: On June 2012, the deprecation of “X-” prefix has become official as RFC 6648.