I wonder... would it be possible to make it so that, instead of increasing the GPP cap each time you get any Great Person, how about you just get a reduced rate for the type that you pick up.
For example, let's say every time you get a Great Engineer, you would get half as many GPP for engineers from then on, without affecting the other types. That way you wouldn't have to worry as much about getting a "junk" Great Person since only one type of great person would be affected. It would make it easier to have GPP-type unique units and also encourage diversifying your specialists in each city instead of having a one filled with priests and another full of sages.