While Magikarp can earn experience through eating food and even the Support Pokémon, there are various training scenarios that you can put Magikarp in. These are selected at random when you go to a training activity and will give Magikarp Jump Power. Like Food, these can be increased by spending money in order to improve the level of the training course.
You can only go on up to 3 Training Courses saved up, and it takes 30 minutes to regenerate a course, but they can by using a Training Soda. Levelling up and defeating levels also activates the training scheme resulting in higher results in Jump Power. There are also three different tiers of results for each training regime, each giving higher Jump Power values of double or triple the base value, but this is selected at random so you have little control.