I plan to use hardware skinning, and thus I need to use loop inside the vertex shader
Hardware skinning is usually done without loops by always skinning for a static number of bones per vertex, and using weights of 0.0 when less than that are needed for a particular vertex.
In general branching and looping on variables are bad, while looping over constants will be unrolled automatically by the shader compiler.
If you haven't written a skinning shader before, then start by writing one that works on your development system, and worry about support on other platforms later. If you know how to do it with loops then do it with loops, and then post the code here and people can comment on it.
Finding the information you need and iteratively changing your method will be easy once you've written one that works.
If you need information on how to start, then post information on your GLSL version and hardware so we can recommend a tutorial.