I'll just show why heuristics and experience are relevant in this problem by showing that is nearly impossible to solve optimally. Note, genetic algorithms cannot necessarily always solve a problem optimally, they are just another heuristic-based search.
Defining the manipulator
Let's simplify things. According to Craig 2005, robot manipulators can be reasonably decomposed into prismatic and revolute joints. Each such joint is one degree of freedom in your input space. That is, a hand on the end of the robot can be specified by a vectors of length $N$, where the robot has $N$ joints of types prismatic or revolute. OK. we can now specify the manipulator position. The set of all possible configurations is called the configuration space. Let's assume we know this completely, as you stated.
Defining the task
Let's assume that the task consists of moving the manipulator through a series of stages. For example, suppose the manipulator must drill 30 holes in a sheet, then place the sheet on a pallet, or whatever. Since we have the manipulator positions as a vector of length $N$, we can specify each task as a desired position, $X_1, X_2 ... X_M$ for task length $M$. What we've just done is specified a series of points in the configuration space which we defined above.
OK break time to verify the terminology if anyone is confused. Watch this video. The robot has 3 degrees of freedom (each rotation point), so the configuration space is all sets of 3 real numbers (in the range 0-$2\pi$, corresponding to the 3 angles of the 3 revolute joints). The task is to cause the end-effector (the pen) to visit all points on a circle. If this isn't clear, I can clarify.
Defining the cost Now that we know the configuration space and the series of points, let's talk about cost. The cost is typically the force exerted by the joints. So suppose (a huge assumption), that we can model this directly as $f(X_1,X_2)$, a function which returns the energy to go from state $1$ to $2$. If we're lucky, the function is a metric. If not, it defines a complete graph with $N\choose 2$ links (the cost to go from any state to any other state).
Defining the problem Find the optimal ordering of manipulator states and paths between manipulator states to minimize the cost, $f(X_i,X_{i+1})$ for each sequential task $i$. This is clearly a Travelling Salesperson Problem (See: TSP). Since TSP is NP-Hard, this problem is NP-Complete*.
What does the above mean? Well, for a given robot design, we have arrive at an NP-Complete problem to derive the optimal task sequence: movements, manipulator positions, etc. To optimize the robot itself is even more difficult. First, we have to search over all possible robot configurations (subject to what??), and for each, solve an NP-Complete problem. The best result is the robot configuration we want. For a small-dimensional workspace (say one joint, or $N=1$), and a simple task (say a small number of possitions like $M$=3 or so) this is not too difficult. However, in general, $N$ is unbounded, and $M$ is large.
Even if there is some ordering property on $N$, like a robot of 2 joints is better than a robot of 1 joints, etc, you still have to do $\log(n^\star)$ TSP solutions, where $n^\star$ is the perfect number of robot joints. Remember a TSP solution is incredibly difficult to solve optimally. This gets even worse if we want to say "Well, what about two arms with two joints versus one arm with four joints." I don't want to talk about that complexity ... It's exploding.
So, because you can't solve it perfectly using computers, people pay big money to have an experienced engineer do it for them. Win-win?
*well not really, but along the way we show a polynomial time reduction, so it sorta counts.
EDIT What we actually did here was describe the algorithm to select the optimal manipulator design. That should answer your first question. However, it is computationally infeasible to run on a computer, and so heuristics and other design choices are necessary, that should answer your second question.
What this means: We're also having this problem in our lab. Manipulators are very expensive, and we want one that is just good enough to perform some task. What we converged to was an extremely minimal set of joints for each task, instead of one large and capable manipulator for all tasks. My advice: I would design the robot based on budget and programmability, rather than trying to make a claim about the optimal configuration.