As I never found (or perhaps I never search for it enough) a good article about how to manage the init.m files, I ended up developing my own \"standard\", but I wonder how bad I
Having also not followed an official doctrine, I can only tell you what I do.
My Kernel/init.m contains no functions itself. I use it to:
$HistoryLength SetDirectory etc.DeclarePackage calls