Most recent distros use modular kernels. That means that only the parts needed to support the current hardware and services are loaded. The only savings you would get with a custom kernel is a few megabytes of disk space. On the downside, you would have to recompile a kernel for every piece of hardware you added. In short, don't bother trying to optimize the kernel.
You can get some significant savings by shutting down services you don't need. In a root terminal on Fedora, for example, you can run:
chkconfig --list | grep 5:on
That will get you a list on the running services. You can disable the ones you don't need with:
chkconfig <service name> off
service <service name> stop
For information on the service you can usually use 'man <service name>' or 'rpm -qi <service name>' to get details on the service.