This is regarding (c) in the 2-dimensional case.
First, let's consider the orientable case.
Every orientable (connected) noncompact surface is a covering space of a genus 2 surface, and hence has an immersion to a compact surface. In fact, this also holds for closed connected orientable surfaces of negative euler characteristic, which excludes the 2-sphere and 2-torus.
To see this, one may appeal to the classification of noncompact surfaces by Ian Richards. He proves that an orientable surface $S$ is determined by its space of ends $B(S)$ (Richards calls this the ``ideal boundary" of the surface), together with a closed subset $B'(S)$ which is the subset of non-planar ends (that admit no planar neighborhood).
First let's consider the case of a planar surface with Cantor set ideal boundary. This is realized as the boundary of a tubular neighborhood of a cubic tree graph:
In turn, this graph covers a bipartite cubic graph with two vertices, whose thickened boundary is a genus 2 surface:
Each vertex of the cubic graph is dual to an pants, and each edge is dual to a curve of the pants decomposition.
Moreover, the graph admits a Tait coloring, a 3-coloring of the edges so that each vertex is adjacent to edges with three distinct colors. Hence the cubic tree admits such a coloring by pullback. Moreover, one sees that a bipartite 3-edge colorable cubic graph has boundary of a thickening which is a cover of this surface. Moreover, this holds true if we allow the graph to have rays, corresponding to isolated points in the ideal boundary of the surface. To see, this, truncate each ray to get a graph with vertices of degree 3 and 1 (leaves). Truncate the corresponding boundary of thickening to get a surface with a boundary component for each leaf. This surface embeds in a subsurface of a cover of the genus 2 surface, with each boundary component mapping to one of the 3 curves on the genus 2 surface. Hence, the non-compact surface covers the genus 2 surface by attaching an infinite half-cylinder to each boundary component (coming from half of the annulus covering space corresponding to the curve).
For the general planar case, we let $B(S)$ be a subset of the Cantor set, the ideal boundary of the cubic tree, and take the convex subgraph of the cubic tree whose limit set is $B(S)$. This is a cubic bipartite graph with rays, and hence covers the genus 2 surface. To get the positive genus case, insert bigons into the tree to add genus to the ends of the ideal boundary of positive genus $B'(S)$ (or to give the . One may do this by taking the convex subtree of the cubic tree with boundary $B'(S)$, and inserting a bigon into every edge of this subtree inside of the subgraph spanned by $B(S)$. It is easy to extend the Tait coloring to this graph. If $B'(S)=\emptyset$, but $S$ has finite genus $g$, then insert $g$ bigons into the tree to get a graph whose thickening is the appropriate surface.
This preserves bipartite and Tait colorability, and hence the thickened boundary still covers the genus 2 surface.
For the non-orientable case, I'll describe the result without going into details. There is a unique closed non-orientable surface $\Sigma= P\#P\#P$ of Euler characteristic -1, Dyck's surface, the connect sum of three projective planes. One may also decompose $\Sigma=P\# T$, the connect sum of a projective plane and a torus (in fact, this is unique up to isotopy). In any case, this manifold bounds an orbifold handlebody, with spine $L$ an orbigraph which is a loop with an edge attached (topologically a tadpole graph), and order 2 cone point at one end (looking like a lollipop).
Any cubic graph with a perfect matching is a cover of $L$, where the non-matching edges cover the cycle (non-canonically, after some choice of orientation of each component), and each edge of the perfect matching maps as a 2-fold cover of the single orbifold edge in the tadpole graph by folding in half.
Now, any tree has a perfect matching, so choose one for the cubic tree.
Take the convex subset of the cubic tree corresponding to $B(S)$, giving a planar graph with the same end space. Let $B'(S)$ denote the subset of non-planar ends, and for each edge in the convex hull of $B'(S)$, add a bigon to each edge (and extending the perfect matching) to get a graph whose tubular neighborhood has the same set of ends and non-planar ends. Then let $B''(S)$ denote the non-orientable ends, and take the convex hull of $B''(S)$ to get the subgraph with non-orientable ends. Then insert a tadpole tail to each unmatched edge in this subgraph. One may see then that a tubular neighborhood (in the orbifold sense, i.e. connect summing with a $P^2$ for each tail/leaf) will give a surface with the correct set of ends, and which covers the Dyck surface (an extra bit of argument is needed for the isolated ends as before).
One special case to consider is where $B''(S)=\emptyset$, $B'(S)\neq \emptyset$, but $S$ is non-orientable. In this case, there is a parity depending on the number of crosscaps of subsurfaces $A$ such that $S\backslash A$ is orientable. In this case, we add on $0$ or $1$ tails to get the appropriate parity of crosscaps.