Hi Kyle I have found the esc q 'symbol' esc approach to be quite seamless especially as there are already quite a large number shortcut inputs that follow that pattern that I already use. At least this way keeps all the unit symbols (eg m, l, s, g, A,...) free to be user defined smbols and not Protected. IĀ installed the palette about a month ago I am finding usage of Mathematica's unit functions so much more accessible. Here's some code I put together to generate a function to format partially worked explanations for my students that were having trouble extracting info from worded problems; converting units and correctly applying Boyle's law - not overly complex but never the less the unit template made entering quantities fast enough to make it possible to use my predefined function on the fly in class.
(*define function*)
boylesLaw[p1_,v1_,p2_,v2_,precision_]:=SetPrecision[Style[Grid[{{"Identify all information given in the question and convert to SI units"},{},{Grid[{{"Subscript[P, 1]","=",p1,"=",N@UnitConvert[p1,kPa]},{"Subscript[V, 1]","=",v1,"=",N@UnitConvert[v1,L]},{"Subscript[P, 2]","=",p2,"=",N@UnitConvert[p2,kPa]},{"Subscript[V, 2]","=",v2},{},{"This question requires Boyle's Law:",SpanFromLeft},{"Subscript[P, 1]Subscript[V, 1]","=" ,"Subscript[P, 2]Subscript[V, 2]"},{"\[Therefore] Subscript[V, 2]","=","(Subscript[P, 1] Subscript[V, 1])/Subscript[P, 2]","=",Column[{Row[{ N@UnitConvert[p1,kPa]," * ",N@UnitConvert[v1,L]}],N@UnitConvert[p2,kPa]},Alignment->Center,Dividers->{None,{None,True,None}}],"=",N@UnitConvert[(v1 p1)/p2,"Liters"]}},Alignment->Left]},{},{Row[{"\[Therefore] the final volume is ",Style[ScientificForm@UnitConvert[(v1 p1)/p2,"Liters"],Bold]}]}},Alignment->Left],"Text"],precision]
(*example usage, quantities can be entered easily using using esc q 'symbol' esc from InputUnits aliases*)
boylesLaw[101kPa,50mL,4atm,"?",3]