Here's a procedure to compute the homology of $X/G$ for finite $G$ for specific examples ``with“with your bare hands"hands”.
I'm interested in the homology of the space of unlabeled networks with non-negative edge weights with coefficients in $\mathbb{Z}$. In this case, $X=\mathbb{R}_{\ge 0}^{N}$, $G=\Sigma_n \hookrightarrow \Sigma_N$, $N=\binom{n}{2}$ is the number of edge weights, and $G$ is the group of edge permutations induced by relabeling vertices. I compactify $X$ by intersecting with the plane $x_1+\ldots+x_N=1$$x_1+\dotsb+x_N=1$.
AwhileA while back I wrote some Sage code to compute Dirichlet fundamental domains. This gives a list of half-plane inequalities yielding a convex polyhedron $F(x_0)$, and $G$ is represented as a group of permutation matrices. I recently realized this code is fairly general, and works for any convex polyhedral space $X$ and finite matrix group $G$.
https://github.com/jacksonwalters/orbit-space-homology
I then attempted to compute the cellular homology using the polyhedron faces as cells, keeping track of orientations, and whether a map gluing the faces together preserves or reverses orientation.
An unresolved issue that came up was what to do when a face $f \subset F(x_0)$ is glued to itself non-trivially, so $gf = \pm f$. Do you count as usual, then divide by the size of the stabilizer? Doing so yields a complex, but the homology seems random and varies with $x_0$, which is no good. For example, if there is a square face, and there is a 4-rotation generated by $g$ which preserves orientation, you'd get $(f+f+f+f)/4=f$. Working over $\mathbb{Z}/2\mathbb{Z}$ and foregoing the division (also yielding a complex with bizarre homology) you get 0. For a flip ($gf=-f$), you get 0 in either case.
One fix is to sub-divide so that there are no faces with non-trivial self-gluings (so $G$ permutes cells and yields an appropriate complex in the sense of Bredon homology). Sage does allow barycentric subdivision, but there are 1) there are too many faces 2) there's an odd parameter subdivision_frac
which cannot be set to zero and seems to puff out the faces, and causes the old vertices to not be contained in the new vertices.
An alternative is to label the vertices and compute simplicial homology instead, which I recently implemented. To avoid the non-trivial self-gluing, I add some new vertices which are fixed points of the $G$ action. Fixed point subspaces are just the $\lambda=1$ eigenspaces computed as $ker([g]-Id_N)$$\ker([g]-\operatorname{Id}_N)$. Intersecting these with the polyhedron gives the new vertices.
In the above example, this has the effect of adding a new vertex in the middle of the square, cutting it into four triangles. We use these faces and make sure to throw out the big square.
In my example, this adds 4 new vertices to the original 7. The computation is slow, but I find that $H_k(X/G,\mathbb{Z}) = \mathbb{Z}$ in degree 0, and 0 otherwise.
This is consistent with my expectations, as I'd be very curious to see an example where $X$ is contractible, $G$ is finite, and $H_k(X/G,\mathbb{Z})$ has torsion. I tried a few by hand, and they all yield contractible spaces, e.g. a triangle with $\mathbb{Z}/3\mathbb{Z}$ acting by rotation is a dunce cap, a triangular pyramid with the same rotation acting around an axis going through the top vertex is a solid cone, and my n=3 example $\left(\mathbb{R}_{\ge 0}^3 \cap \{x_1+x_2+x_3=1\}\right)/\Sigma_3$ is a triangular fundamental domain with no gluings, which is contractible.
According to this answer to thiscohomology of the orbit space of a group action answer, over a field the cohomology should be trivial when $X$ is a contractible space, but that doesn't answer the question over $\mathbb{Z}$.