Is it generally preferred that empty products are gotten rid of where possible?
For example:
Stewart's structure theorem says that for a positive integer $n$, every positive integer $\leq n$ has a representation as a sum of distinct divisors of $n$ iff (if and only if) $n=1$, or $p_1=2$ and $p_i-1\leq\sigma(p_1^{a_1}p_2^{a_2}...p_{i-1}^{a_{i-1}})$ for every $i\in[2,\omega(n)]$, where $\omega(n)$ is the number of distinct prime factors of $n$ and $\sigma(n)$ is the sum of divisors of $n$. Such numbers are called practical numbers. However, we don't have to state $p_1=2$ if we require the special case with $i=1$ to hold, from which $$p_1-1\leq\sigma(\prod_{j=1}^{0}p_j^{a_j})=\sigma(1)=1,$$ thus $p_1=2$, since $1$ is not prime.
But there are other ways to get rid of the empty product than by stating $p_1=2$ explicitly; Multiplying both sides by $\sigma(p_i^{a_i})$ results in
$$p_i^{a_i+1}-1\leq\sigma(\prod_{j=1}^{i}p_j^{a_j})$$
so that for $i=1,\hspace{1mm}p_1^{a_1+1}-1\leq\dfrac{p_1^{a_1+1}-1}{p_1-1}\implies p_1\leq 2\implies p_1=2$.
Another option in this case is to define a function $T_i(n)$ which returns these "truncations" of the prime factorization of $n$ (that appear in the divisor sum) so that $T_0(n)=1$ and $T_{\omega(n)}(n)=n$. In order to avoid having an empty product in the definition of this function we might define the functions $p_i(n)$ to return $1$ and $a_i(n)$ to return $0$ whenever $i\not\in[1,\omega(n)]$, then let $$T_i(n)=\prod_{j=0}^i p_j(n)^{a_j(n)}$$
As long as you're dealing with a numerical product (or even an operation in a semigroup with identity), defining an empty product to be the identity works out extremely nicely. If you're dealing with more general/weirder sorts of "products" (e.g., Cartesian products, topological products, etc.), you end up having to give up equality and settle for isomorphism in general (e.g., $A\times(B\times C)\cong(A\times B)\times C$ but equality does not hold), so the fact that there's no real identity doesn't seem like such a big deal.
The reason the empty product being the multiplicative identity makes sense is, very simply, that it works nicely with the general rule that $$\prod_{i\in I_1}x_i\cdot \prod_{i\in I_2}x_i=\prod_{i\in I_1\sqcup I_2}x_i.$$