Upper bound on ratio of positive polynomials 
Let $a_i,b_i,c_i,d_i>0$ for all $1\leq i\leq n$.  What is a sharp upper bound on 
  $$\sup_{x_1,\ldots,x_n>0}\frac{\sum_{i,j=1}^n a_ib_jx_ix_j}{\sum_{i,j=1}^n c_id_jx_ix_j}$$

This quantity is always bounded as there is the bound:
$$ \frac{\sum_{i,j=1}^n a_ib_jx_ix_j}{\sum_{i,j=1}^n c_id_jx_ix_j}\leq \max_{i,j}\frac{a_ib_jx_ix_j}{c_id_jx_ix_j}=\max_{i,j}\frac{a_ib_j}{c_id_j}.$$
So, we get 
$$\sup_{x_1,\ldots,x_n>0}\frac{\sum_{i,j=1}^n a_ib_jx_ix_j}{\sum_{i,j=1}^n c_id_jx_ix_j}\leq \min\Big\{\max_{i,j}\frac{a_ib_j}{c_id_j},\max_{i,j}\frac{b_ia_j}{c_id_j}\Big\}.$$
This bound is tight as it is attained for instance when $a_i= r b_i= s c_i = t d_i$ for every $i$ and some $r,s,t>0$. However it is quite conservative. 
Can we do better ?
 A: I am not sure how useful this will be, but here's another way to think about your result; I think it's a bit too long for a comment.
Let $A = \operatorname{diag}(a)$ denote the diagonal matrix whose diagonal entries are $a_1,\dots,a_n$.  Similarly, take $B = \operatorname{diag}(b)$, $C = \operatorname{diag}(c)$, $D = \operatorname{diag}(d)$.  Let $\otimes$ denote the Kronecker product, and let $\|\cdot\|_1$ denote the $1$-norm.  We have
\begin{align*}
\max_{x > 0} \frac{\sum_{i,j = 1}^n a_i b_j x_ix_j}{\sum_{i,j = 1}^n c_id_jx_ix_j} &= \max_{x > 0}\frac{\|(A \otimes B)(x \otimes x)\|_1}{\|(C \otimes D)(x \otimes x)\|_1} \\
&\leq \max_{x,y > 0}\frac{\|(A \otimes B)(x \otimes y)\|_1}{\|(C \otimes D)(x \otimes y)\|_1} \\
&= 
\max_{x,y > 0}\frac{\|(A \otimes B)(C \otimes D)^{-1}(x \otimes y)\|_1}{\|(x \otimes y)\|_1}\\
&\leq \max_{x,y \in \Bbb R^n \setminus \{0\}}\frac{\|(AC^{-1} \otimes BD^{-1})(x \otimes y)\|_1}{\|(x \otimes y)\|_1}\\
&\leq \max_{z \in \Bbb R^{n^2}} \frac{\|(AC^{-1} \otimes BD^{-1})z\|_1}{\|z\|_1} 
\\ &= \|(AC^{-1} \otimes BD^{-1})\|_1
\end{align*}
where $\|(AC^{-1} \otimes BD^{-1})\|_1$ is the induced $1$-norm of $(AC^{-1} \otimes BD^{-1})$. We find that this gives us the same bound, namely
$$
\|(AC^{-1} \otimes BD^{-1})\|_1 = \max_{i,j} \frac{a_ib_j}{c_id_j}
$$
A: I am definitely interested in a factor of 2
OK, here is how to find the true maximum then. We know that the maximum is at least $\Lambda>0$ if we can find $x$ with
$$
\langle x,a\rangle\langle x,b\rangle-\Lambda \langle x,c\rangle\langle x,d\rangle=\frac 14[\langle x,a+b\rangle^2-\langle x,a-b\rangle^2
-\Lambda \langle x,c+d\rangle^2+\Lambda \langle x,c-d\rangle^2]\ge 0\,.
$$
If we fix $\langle x,a-b\rangle,\langle x,c+d\rangle$, the last expression becomes convex in $x$, so if we can make it non-negative at all, we can do it for some $x$ with at most two non-zero components. Thus we care only about what happens when $n=2$ (but we'll have to consider all pairs $i,j$).
Now we can fix $\langle x,d\rangle=1$ and parameterize admissible $x$ as $x(t), t\in[\alpha,\beta]$ where $x(t)$ is a linear function of $t$. The expression we want to investigate is then $\frac{\langle x,a\rangle\langle x,b\rangle}{\langle x,c\rangle}$. This is a quadratic polynomial of $t$ divided by a linear one. If we look at the equation for the critical points, we see that it reduces to a quadratic equation in $t$, so we have to solve that one, see which critical points lie within the interval, and compare with the endpoints (the last step is not really necessary because we can check all singletons at once in the very beginning). This is not hard to program but the analytic formulae are too ugly to try to write explicitly. 
