You will need to set Photoshop up at the begining of your session to print as you require. Setting presets isn't possible from Photoshop, maybe with an external program.
I think CS3 had a problem where you couldn't use an action to print and had to use a one line script..
activeDocument.printOneCopy();
Here is what can be done via a script...
Code:
var doc = app.activeDocument;
doc.printOneCopy(); //Print One Copy
doc.printSettings.flip = false;
doc.printSettings.setPagePosition(DocPositionStyle.SIZETOFIT);
// DocPositionStyle.USERDEFINED
// DocPositionStyle.PRINTCENTERED
// DocPositionStyle.SIZETOFIT
doc.printSettings.negative = false;
doc.printSettings.caption = true/false;
doc.printSettings.labels = true/false;
doc.printSettings.cornerCropMarks = true/false;
doc.printSettings.centerCropMarks = true/false;
doc.printSettings.colorBars = true/false;
doc.printSettings.regMarks = true/false;
doc.printSettings.negative = true/false;
doc.printSettings.flip = true/false;
doc.printSettings.interpolate = true/false;
doc.printSettings.vectorData = true/false;
doc.printSettings.hardProof = true/false;
doc.printSettings.mapBlack = true/false;
doc.printSettings.printSelected = true/false;
var bgColor = new SolidColor;
bgColor.rgb.red = xxx;
bgColor.rgb.green = xxx;
bgColor.rgb.blue = xxx;
doc.printSettings.backgroundColor = bgColor;
doc.printSettings.renderIntent = Intent.PERCEPTUAL;
//intent.SATURATION/ intent.RelativeColorimetric/intent.intent.AbsoluteColorimetric;
doc.printSettings.printBorder = xx;
doc.printSettings.bleedWidth = xx;
doc.printSettings.setPagePosition(DocPositionStyle, X (optional), Y (optional), scale (optional));
doc.printSettings.setPagePosition(DocPositionStyle.USERDEFINED, 1.5, 2.0);
var currPrinter = doc.printSettings.currentPrinter;
var message = "Printer is: " + currPrinter;
alert(message);
printers = doc.printSettings.printers;
message = "Printers are: " + printers;
alert(message);