Philipp,
Here is one way to do it. Open the kernel initialization file:
init = FileNameJoin[{$UserBaseDirectory, "Kernel", "init.m"}];
stream = OpenAppend[init]
Write the expression you want to be evaluated in each kernel session:
Write[init, Unevaluated[SetDirectory["/Users/Philipp/subdirectory"]]]
Close the file:
Close[stream]
Inspect the contents:
FilePrint[init]
Or use SystemOpen to edit the file manually:
SystemOpen[init]