How to ensure dalvik-cache and lib are linked to SD on boot?
Unlikely to be possible in this context, as Dalvik cache has a fixed system-wide location (/data/dalvik-cache). So you cannot have "linked apps place their dalvik cache directly on SD". Either all or nothing. Take a look at the app2sd tag-wiki for alternative approaches which might allow to move the entire dalvik cache to your SDCard. But a selective move IMHO is impossible.

Remark: An exception to this general rule are odexed ROMs, where the .odex files sit in the same place as the app, at least for system apps. So there might be a way to do the same for "user apps" which I have missed.)