Currently, it' only possible to remove HistoricTaskInstances (runtimeService.deleteHistoricTaskInstance).
Since there are timestamps included in all history tables (start/end times), you can perhaps create a batch-process that runs every day and cleans up the history for X days ago using plain old SQL