Consider the following MWE:
\documentclass{article}
\usepackage{mhchem}
\begin{document}
\ce{{}^3He} has a higher vapour pressure, and therefore a lower boiling point,
than \ce{{}^4He}: the result of this is that pumping away the most energetic
molecules from the bottom layer preferentially removes \ce{{}^3He}.
\end{document}
which yields the (correct) output. (I don't have enough rep to post three images separately!)
Attempting to package the awkward \ce command into a custom macro messes up the spacing with the following words, though not with punctuation:
\documentclass{article}
\usepackage{mhchem}
\newcommand{\HeThree}{\ce{{}^3He}}
\newcommand{\HeFour}{\ce{{}^4He}}
\begin{document}
\HeThree has a higher vapour pressure, and therefore a lower boiling point, than \HeFour: the result of this is that pumping away the most energetic molecules from the bottom layer preferentially removes \HeThree.
\end{document}
Placing a fixed space (~) in the macro naturally reverses this, so the punctuation spacing is now incorrect:
\newcommand{\HeThree}{\ce{{}^3He}~}
\newcommand{\HeFour}{\ce{{}^4He}~}
The outputs of these three arrangements are as follows:
What is the best way to get a consistent, correct spacing with a macro, that doesn't rely on me manually having to place a ~ after each time the macro precedes a word?
(I have the latest versions of TeXLive and mhchem installed)

mhchem). The proper usage (in your 2nd code segment) is, thus,\HeThree{} has a higher.... Otherwise, the trailing space is considered a terminating token for\HeThreerather than a space in its own right. – Steven B. Segletes Jul 21 '17 at 12:32\def\definece#1#2{\expandafter\def\csname ce:#1\endcsname{\ce{#2}}}and\def\cn#1{\csnanme ce:#1\endcsname}would let you define (\definece{he3}{{}^3He})keywords and use\cn{he3}or whatever name you choose. I think it will be clear and you won't need to take care of the space after the macro. – Manuel Jul 21 '17 at 12:34\csnanme); I meant in the sense that one could just type\hethreewithout any braces. But I guess even LaTeX convenience has its limits ;) – tusky_mcmammoth Jul 21 '17 at 13:08\ce{^3He}instead of\ce{{}^3He}. // Find alternatives for things you find awkward. – mhchem Jul 21 '17 at 18:07xspacepackage:\newcommand{\HeThree}{\ce{^3He}\xspace}. This addresses the issue. – TeXnician Jul 21 '17 at 18:50