Based on this answer, the reason not to eat a kezayit of karpas is because of a safek whether you would have to make a borei nefashot if you do.
- if maror is covered by hamotzi, then the haadama on the karpas applies only to the karpas itself, and if you ate a kezayit you would make a borei nefashot.
- if maror requires its own bracha, then the haadama on the karpas covers it, and even if you ate more than a kezayit you wouldn't make a borei nefashot, since you want the haadama to continue to the maror. As I understand it, the shared bracha ties the karpas to the meal, and so it is covered by bentching.
Based on the comments there, there are also minhagim to specifically eat a kezayit.
But isn't there a simple way of doing both? You can just make sure to eat a haadama fruit as part of the "dessert" at the end of the meal in shulchan orech (of course before the afikoman), and have in mind that the haadama on the karpas covers that. Then, either way, you wouldn't make a borei nefashot on the karpas, since the bracha continues to the meal and the karpas is again covered by bentching.
Short version: you eat a (>kezayit) piece of cantaloupe during shulchan orech, as a dessert distinct from the main part of the meal, which fulfills exactly the same role as the maror does in (2), but according to (1) as well.
This would seem to solve all the problems, but I've never heard this suggestion before. Is there a source for it? Is there a reason it wouldn't work?