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]