It's taken me a long time to come to a realization of the importance of keeping at anything that you really want to improve at on a daily basis.
Whether your goal is to become a better singer, guitarist, drummer, pianist, producer, or all of the above I think you get better results by doing a little bit every day instead of going at it for hours on end when you really get in the mood.
When you do training sessions more frequently your body (and mind) seems to pick up where it left off the day before instead of sort of having to relearn what you learned last time.
What I try to do (and what I recommend) is to set aside a certain amount of time every weekday (whatever you can reasonably fit into your schedule) following a practice schedule. If you want to learn multiple things (say you want to both improve your singing and your piano playing abilities) then you should set aside some time for each thing you are trying to improve at each day.
I find that using a timer is a really great way to stay focused on a particular task for a particular amount of time (it's too easy to get distracted for me without it.)
I like to take the weekends off from my practice schedule. That doesn't mean I don't do anything musical on the weekends, in fact I may spend even more time on music on the weekend, just that I don't follow a set practice schedule.
Also, if my schedule is 30 minutes on singing and 30 minutes on piano every weekday, that doesn't mean that I don't spend more time than that on music. I may spend another 2 hours recording a song, or something else. The schedule is just a minimum spent on practice routines, any other time I have is time that I can use however I please.
I also think it's important that these practice routines are not just for "playing around" they should be very focused on improving particular skills. This means doing things like playing scales and following practice books, not just learning a song that you like.
I've found that by following practice routines my skill improves much faster than just by trying to learn a song. Maybe this isn't true for everyone, but I've found it to be true for me.
Another very important thing I've only recently realized is the importance of challenging yourself. You get better by trying to do things you cannot do, not by just doing what you can already do over and over again.
One more thing: Use a metronome all the time. The importance of good rhythm/timing cannot be overstated.
A good simple timing practice that I use is "making the metronome disappear." No matter what instrument you play, doing focused rhythm practice is a great idea.