D.W.
Uummm.....he's sleeping 6.5 hours, feeds and passes back out for 2-4? That's pretty darn good for a just barely 3 month old! And the 6.5 hours is considered sleeping thru the night. Might not be what you want to hear but he's still very tiny. Some babies take longer to be physically ready to sleep for longer periods of time. And babies need to eat at night. It's part of their basic survival. Babies waking to eat when they are very tiny is a good thing. Keeps their blood sugars level. I'm always kind of floored when people say babies don't need to eat at night! Try telling that to my growing and hungry babies in the middle of the night!
Parenting doesn't end at night or because you will have to return to work and need a good night's sleep. Just not necessarily how it works. Every baby has different needs at night.
As far as naps, it's just something they have to learn and be taught like any part of sleep. Good, consistent routines are what teaches baby what to expect and what is expected. Babies have to be taught how to sleep. They don't automatically know how. Some babies are cat nappers but you can go in when he wakes around the 30 minute mark and try to get him back down by keeping the lights low, your voice soft and trying to soothe him back to sleep. My son was an awful napper too but with a routine of literally doing and saying the same things every single nap and bedtime for 6 weeks, he got it and began to sleep beautifully but he was 6 months old when I started. Your baby is very young still but you can establish consistent routines and that will help everything fall into place.