This discussion [1] is about extending drracket's built-in indenter, using `drracket:indentation` [2]. The #lang's get-info function should accept that symbol as a key, and return an indentation function.
To access the default indentation by drracket, it seems you could call `compute-racket-amount-to-indent` [3]. It accepts an optional argument `get-head-sexp-type` which should be a function mapping identifiers to one of #f 'lambda 'define 'begin 'for/fold 'other, where #f means that it will use the built-in list.
There was some discussion in [1] and in this mailing-list discussion [4] about the future possibility of using syntax properties or a similar mechanism to allow macros and other identifiers to specify their indentation.
[1] https://github.com/racket/drracket/issues/60
[2] http://docs.racket-lang.org/tools/adding-languages.html#%28idx._%28gentag._17._%28lib._scribblings%2Ftools%2Ftools..scrbl%29%29%29
[3] http://docs.racket-lang.org/framework/Racket.html#%28meth._%28%28%28lib._framework%2Fmain..rkt%29._racket~3atext~3c~25~3e%29._compute-racket-amount-to-indent%29%29
[4] https://groups.google.com/forum/#!msg/racket-users/mTXshH6eal0/u-OySmuuCwAJ