My suggestion is simply not typesetting the unit, because units are not invariants, while the formula is. So you have E_p=P/R (maybe with some constant around) even if your energy was measured in ergs or other units. That I_0 is in watt per squared meter is already obvious from the what's said when the quantity was being defined. Note also that square brackets are used to denote physical dimensions, while a joule is a physical quantity.
This said, you have some choices:
- no unit
- the unit typeset at a fixed distance from the equation number (with
flalign)
- the unit typeset at a fixed distance from the equation, participating to the centering
- the unit typeset at a fixed distance from the equation, not participating to the centering
In the example, I don't show the first (recommended) choice. Note that the last one may cause overlaps if the formula is long.
\documentclass{article}
\usepackage{mathtools, siunitx}
\begin{document}
Some text above
\begin{flalign}
&&&I_0 \equiv \frac{4E_p}{{\tau}{w_{0}^{2}}\pi\sqrt{2\pi}},
&&(\si{\watt\per\meter\squared})
\label{eq:PeakIntensity}
\end{flalign}
where
\begin{flalign}
&&&E_p \equiv \frac{P}{R}.
&&(\si{\joule})
\label{eq:PulseEnergy}
\end{flalign}
Some text above
\begin{equation}
I_0 \equiv \frac{4E_p}{{\tau}{w_{0}^{2}}\pi\sqrt{2\pi}},
\qquad (\si{\watt\per\meter\squared})
\label{eq:PeakIntensity2}
\end{equation}
where
\begin{equation}
E_p \equiv \frac{P}{R}.
\qquad (\si{\joule})
\label{eq:PulseEnergy2}
\end{equation}
Some text above
\begin{equation}
I_0 \equiv \frac{4E_p}{{\tau}{w_{0}^{2}}\pi\sqrt{2\pi}},
\mathrlap{\qquad (\si{\watt\per\meter\squared})}
\label{eq:PeakIntensity3}
\end{equation}
where
\begin{equation}
E_p \equiv \frac{P}{R}.
\mathrlap{\qquad (\si{\joule})}
\label{eq:PulseEnergy3}
\end{equation}
\end{document}
Note also that mathtools is used for \mathrlap; it automatically loads amsmath.

A modification of Gonzalo's answer, that won't have the defect that the equation can overlap the unit.
\documentclass{article}
\usepackage{amsmath, siunitx}
\sisetup{detect-all}
\makeatletter
%%% redefine \eqref to be like the original
\renewcommand{\eqref}[1]{\textup{\eqreftagform@{\ref{#1}}}}
\let\eqreftagform@\tagform@
%%% redefine \tagform@
\def\tagform@#1{%
\maketag@@@{%
\if@unit(\thiseq@unit)\quad\fi\global\@unitfalse
(\ignorespaces#1\unskip\@@italiccorr)%
}%
}
\newif\if@unit
\def\equnit#1{%
\gdef\thiseq@unit{#1}%
\global\@unittrue
}
\makeatother
\begin{document}
\begin{equation}
I_0 \equiv \frac{4E_p}{{\tau}{w_{0}^{2}}\pi\sqrt{2\pi}},
\equnit{\si{\watt\per\meter\squared}}
\label{eq:PeakIntensity}
\end{equation}
where
\begin{equation}
E_p \equiv \frac{P}{R}.
\equnit{\si{\joule}}
\label{eq:PulseEnergy}
\end{equation}
Let's see with \texttt{align}:
\begin{align}
I_0 &\equiv \frac{4E_p}{{\tau}{w_{0}^{2}}\pi\sqrt{2\pi}},
\equnit{\si{\watt\per\meter\squared}}
\label{eq:PeakIntensity2}\\
E_p &\equiv \frac{P}{R}.
\equnit{\si{\joule}}
\label{eq:PulseEnergy2}
\end{align}
An equation without unit:
\begin{equation}
1=1
\end{equation}
A long equation with unit:
\begin{equation}
aaaaaaaaaaaaaaaaaaaaaaa=bbbbbbbbbbbbbbbbbbbb+ccccccccccccccc
\equnit{\si{\joule}}
\end{equation}
A longer equation with unit:
\begin{equation}
aaaaaaaaaaaaaaaaaaaaaaa=bbbbbbbbbbbbbbbbbbbb+cccccccccccc+ddddddd
\equnit{\si{\joule}}
\end{equation}
The references: \eqref{eq:PeakIntensity} and \eqref{eq:PulseEnergy};
\eqref{eq:PeakIntensity2} and \eqref{eq:PulseEnergy2}.
\end{document}

\tagform@) fromamsmathso the text can be added without colateral effects. I'll add some explanations later. – Gonzalo Medina Mar 20 '14 at 23:20