Can every two languages in $RE$ be reduced? If $L_1,\, L_2 \in RE / R$, must there exist a (computable) many-one reduction between them?

I can prove that for every two languages in $R$ exists a reduction between them. A possible reduction $L_3 \leq L_4$ where $L_3,\, L_4\in R$ goes as follows:

given an input $x$ to $L_3$, run $M_3$ (it's TM), if it accepted, return an input that is in $L_4$. Else, return one that isn't (this works assuming $L_4\neq \emptyset,\, \Sigma^*$).

The above idea will not work in $RE$ because $M_3$ might not halt. 

Is there a different way to construct a reduction $L_1\leq L_2$ where it us known that $L_1,\, L_2\in RE / R$?  Or is such a general reduction something that cannot be always achieved?
Consider the case $L_2 = \emptyset$. This language is clearly recursively enumerable, but the only language which can be reduced to it is itself.

What is true, and follows directly from the definition, that two RE-complete languages reduce to one another.